Hibernate是一種Java語言下的對象關係對映(ORM)解決方案。它是使用GNU寬通用公共許可證發行的自由、開源的軟件。它為物件導向的領域模型到傳統的關係型資料庫的對映,提供了一個使用方便的持久化框架。
此條目需要補充更多來源。 (2023年8月9日) |
概覽
它的設計目標是將軟件開發人員從大量相同的數據持久層相關程式設計工作中解放出來。無論是從設計草案還是從一個遺留資料庫開始,開發人員都可以採用Hibernate。
Hibernate不僅負責從Java類到資料庫表的對映(還包括從Java資料類型到SQL資料類型的對映),還提供了物件導向的數據查詢檢索機制,從而極大地縮短了手動處理SQL和JDBC上的開發時間。
發展歷程
2001年,澳大利亞墨爾本一位名為Gavin King的27歲的程式設計師,買了一本SQL程式設計的書,他厭倦了實體bean,認為自己可以開發出一個符合對象關係對映理論,並且真正好用的Java持久化層框架,因此他需要先學習一下SQL。這一年的11月,Hibernate的第一個版本發佈了。
2002年,已經有人開始關注和使用Hibernate了。
2003年9月,Hibernate開發團隊進入JBoss公司,開始全職開發Hibernate,從這個時候開始Hibernate得到了突飛猛進的普及和發展。
2004年,整個Java社區開始從實體bean向Hibernate轉移,特別是在Rod Johnson的著作《Expert One-on-One J2EE Development without EJB》出版後,由於這本書以紮實的理論、充分的論據和詳實的論述否定了EJB,提出了輕量級敏捷開發理念之後,以Hibernate和Spring為代表的輕量級開源框架開始成為Java世界的主流和事實標準。在2004年Sun領導的J2EE5.0標準制定當中的持久化框架標準正式以Hibernate為藍本。
2006年,J2EE5.0標準正式發佈以後,持久化框架標準Java Persistent API(簡稱JPA)基本上是參考Hibernate實現的,而Hibernate在3.2版本開始,已經完全相容JPA標準。
程式開發
Hibernate是一個以LGPL(Lesser GNU Public License)許可證形式發佈的開源專案。在Hibernate官網上有下載Hibernate包的說明。Hibernate包以原始碼或者二進制的形式提供。
Eclipse:一個開放原始碼的、基於Java的可延伸開發平台。
NetBeans:開放原始碼的Java整合式開發環境,適用於各種客戶機和Web應用。
IntelliJ IDEA:在程式碼自動提示、程式碼分析等方面,具有很好的功能。
MyEclipse:由Genuitec公司開發的一款商業化軟件,是應用比較廣泛的Java應用程式整合式開發環境。
.NET上的Hibernate
Hibernate有個在.NET Framework上的實作版本,稱為NHibernate,在ADO.NET Entity Framework發表之前,NHibernate是在.NET Framework上經常被使用的ORM實作。
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.