Posted on 2005-11-14 13:23
Kela 閱讀(318)
評(píng)論(0) 編輯 收藏 所屬分類:
我的筆記(Hibernate)
1. 一直未能將自己零零散散的hibernate做一次整理,總覺有些底氣不足。這些筆記記錄自己學(xué)習(xí)hibernate的一些過程,實(shí)際也是自己對(duì)書本,電子書,網(wǎng)絡(luò)文章(有夏昕的 Hibernate Development Guide, *米小國(guó)*奇想世界的一份Hibernate學(xué)習(xí)筆記,國(guó)內(nèi)開發(fā)者翻譯的Hibernate官方文檔,夏昕,曹曉剛,唐勇的深入淺出Hibernate, Hibernate in Action, 以及很多網(wǎng)友的文章,這些參考都能從網(wǎng)上找到,呵呵,書當(dāng)然要花錢了)的筆記。目的在于幫助自己更好的理解ORM,并為自己的實(shí)際開發(fā)工作提供更好的思路和解決方法,歡迎大家的批評(píng)指正。
2. Hibernate的說明
作為一個(gè)產(chǎn)品應(yīng)用的開發(fā)者了解一些產(chǎn)品本身的信息也是必要的。
2001年末,Hibernate第一個(gè)正式版本對(duì)外發(fā)布,之后的兩年時(shí)間Hibernate迅速成長(zhǎng)起來,2003.6.8 Hibernate2的發(fā)布為Hibernate奠定了成功的基石。2003年末,Hibernate獲得了Jolt 2004大獎(jiǎng)以及Hibernate被業(yè)內(nèi)知名開源組織JBoss收納,成為從屬于JBoss組織的子項(xiàng)目之一。
Hibernate是一個(gè)面向Java環(huán)境的ORM組件(解決方案,持久層框架),用來把對(duì)象模型表示的對(duì)象映射到基于SQL的關(guān)系模型結(jié)構(gòu)中去。也就是說我們將對(duì)象與對(duì)象的關(guān)系對(duì)應(yīng)到關(guān)系型數(shù)據(jù)庫中的表格于表格之間的關(guān)系,也可以理解成像操作對(duì)象一樣的去操作數(shù)據(jù)庫。
Hibernate不僅僅管理Java類到數(shù)據(jù)庫表的映射,還提供數(shù)據(jù)查詢,事物管理,緩存管理,延遲加載等的實(shí)現(xiàn)。可以大幅度的減少開發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。Hibernate的目標(biāo)是對(duì)于開發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務(wù),解放其中的95%。
對(duì)于以數(shù)據(jù)為中心的程序來說,它們往往只在數(shù)據(jù)庫中使用存儲(chǔ)過程來實(shí)現(xiàn)商業(yè)邏輯,Hibernate可能不是最好的解決方案;對(duì)于那些在基于Java的中間層應(yīng)用中,它們實(shí)現(xiàn)面向?qū)ο蟮臉I(yè)務(wù)模型和商業(yè)邏輯的應(yīng)用,Hibernate是最有用的。不管怎樣,Hibernate一定可以幫助你消除或者包裝那些針對(duì)特定廠商的SQL代碼,并且?guī)湍惆呀Y(jié)果集從表格式的表示形式轉(zhuǎn)換到一系列的對(duì)象去。