hibernate原理與應(yīng)用

hibernate原理與應(yīng)用

ID:20094866

大小:423.50 KB

頁數(shù):50頁

時(shí)間:2018-10-10

hibernate原理與應(yīng)用_第1頁
hibernate原理與應(yīng)用_第2頁
hibernate原理與應(yīng)用_第3頁
hibernate原理與應(yīng)用_第4頁
hibernate原理與應(yīng)用_第5頁
資源描述:

《hibernate原理與應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、Hibernate原理與應(yīng)用主要內(nèi)容引入安裝配置基本概念和CURDHQL和Criteria關(guān)聯(lián)映射繼承映射集合映射懶加載緩存事務(wù)其他Hibernate不適合的場景與JPA的集成(annotation方式)最佳實(shí)踐引入模型不匹配(阻抗不匹配)Java面向?qū)ο笳Z言,對(duì)象模型,其主要概念有:繼承、關(guān)聯(lián)、多態(tài)等;數(shù)據(jù)庫是關(guān)系模型,其主要概念有:表、主鍵、外鍵等。解決辦法1使用JDBC手工轉(zhuǎn)換。2使用ORM(ObjectRelationMapping對(duì)象關(guān)系映射)框架來解決,主流的ORM框架有Hibernate、TopLink、OJB。安裝配置下載地址http://www.hibern

2、ate.org,本教程使用3.2.5。將下載目錄/hibernate3.jar和/lib下的hibernate運(yùn)行時(shí)必須的包加入classpath中:antlr.jar,cglib.jar,asm.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar安裝配置配置文件hibernate.cfg.xml和hibernate.properties,XML和properties兩種,這兩個(gè)文件的作用一樣,提供一個(gè)即可,推薦XML格式,下載目錄/etc下是示例配置文件??梢栽谂渲梦募付ǎ簲?shù)據(jù)庫的URL、用戶

3、名、密碼、JDBC驅(qū)動(dòng)類、方言等。啟動(dòng)時(shí)Hibernate會(huì)在CLASSPATH里找這個(gè)配置文件。映射文件(hbm.xml,對(duì)象模型和關(guān)系模型的映射)。在/eg目錄下有完整的hibernate示例??焖匍_始小例子基本概念和CURD開發(fā)流程1由Domainobject->mapping->db。(官方推薦)2由DB開始,用工具生成mapping和Domainobject。(使用較多)3由映射文件開始。基本概念和CURDDomainObject限制1.默認(rèn)的構(gòu)造方法(必須的)。2有無意義的標(biāo)示符id(主鍵)(可選)3非final的,對(duì)懶加載有影響(可選)DomainJavaObj

4、ect(User)publicclassUser{privateintid;privateStringname;privateDatebirthDay;//gettersetter…}基本概念和CURD1.hbm.xml

5、day”/>主鍵生成器,參考文檔P655.1.42.詳細(xì)信息見參考文檔P62基本概念和CURDJava代碼1.初始化代碼(只做一次)Configurationcfg=newConfiguration();cfg.configure(“config.cfg.xml”);也可以通過cfg.setProperty設(shè)置屬性。SessionFactorysessionFactory=cfg.buildSessionFactory();2.模板代碼Sessionsession=null;Transactiontx=null;try{

6、session=sessionFactory.openSession();tx=session.beginTransaction();//…你的代碼save,delete,update,get…tx.commit();}catch(Exceptione){if(tx!=null)tx.rollback();throwe;}finally{if(session!=null)session.close();}基本概念和CURDSession的幾個(gè)主要方法1.save,persist保存數(shù)據(jù),persist在事務(wù)外不會(huì)產(chǎn)生insert語句。2.delete,刪除對(duì)象3.update

7、,更新對(duì)象,如果數(shù)據(jù)庫中沒有記錄,會(huì)出現(xiàn)異常。4.get,根據(jù)ID查,會(huì)立刻訪問數(shù)據(jù)庫。5.Load,根據(jù)ID查,(返回的是代理,不會(huì)立即訪問數(shù)據(jù)庫)。6.saveOrUpdate,merge(根據(jù)ID和version的值來確定是save或update),調(diào)用merge你的對(duì)象還是托管的。7.lock(把對(duì)象變成持久對(duì)象,但不會(huì)同步對(duì)象的狀態(tài))。對(duì)象狀態(tài)瞬時(shí)(transient):數(shù)據(jù)庫中沒有數(shù)據(jù)與之對(duì)應(yīng),超過作用域會(huì)被JVM垃圾回收器回收,一般是new出來且與session沒有關(guān)聯(lián)的對(duì)象。持久(per

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。