日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
簡單學會Hibernate對象持久化

Hibernate對象持久化技術如何實現(xiàn)呢?本文將教你如何更簡單更加快速的學會Hibernate對象持久化技術。

創(chuàng)新互聯(lián)技術團隊10年來致力于為客戶提供成都做網站、網站設計、品牌網站建設、網絡營銷推廣、搜索引擎SEO優(yōu)化等服務。經過多年發(fā)展,公司擁有經驗豐富的技術團隊,先后服務、推廣了上1000+網站,包括各類中小企業(yè)、企事單位、高校等機構單位。

Hibernate對象持久化類(persistent class)新實例化的對象是瞬時(Transient)的。 我們可通過將瞬時(Transient)對象與session關聯(lián)而把它變?yōu)槌志?Persistent)的。

 
 
 
  1. DomesticCat fritz = new DomesticCat();  
  2. fritz.setColor(Color.GINGER);  
  3. fritz.setSex('M');  
  4. fritz.setName("Fritz");  
  5. Long generatedId = (Long) sess.save(fritz); 

如果Cat的持久化標識(identifier)是generated類型的, 那么該標識(identifier)會自動在save()被調用時產生并分配給cat。 如果Cat的持久化標識(identifier)是assigned類型的,或是一個復合主鍵(composite key), 那么該標識(identifier)應當在調用save()之前手動賦予給cat。 你也可以按照EJB3 early draft中定義的語義,使用persist()替代save()。

此外,你可以用一個重載版本的save()方法。

 
 
 
  1. DomesticCat pk = new DomesticCat();  
  2. pk.setColor(Color.TABBY);  
  3. pk.setSex('F');  
  4. pk.setName("PK");  
  5. pk.setKittens( new HashSet() );  
  6. pk.addKitten(fritz);  
  7. sess.save( pk, new Long(1234) ); 

如果你持久化的對象有關聯(lián)的對象(associated objects)(例如上例中的kittens集合) 那么對這些對象(譯注:pk和kittens)進行持久化的順序是任意的(也就是說可以先對kittens進行持久化也可以先對pk進行持久化), 除非你在外鍵列上有NOT NULL約束。 Hibernate不會違反外鍵約束,但是如果你用錯誤的順序持久化對象(譯注:在pk持久化之前持久化kitten),那么可能會違反NOT NULL約束。

通常你不會為這些細節(jié)煩心,因為你很可能會使用傳播性Hibernate對象持久化(transitive persistence)功能自動保存相關聯(lián)那些對象。 這樣連違反NOT NULL約束的情況都不會出現(xiàn)了 - Hibernate會管好所有的事情。 傳播性持久化(transitive persistence)將在本章稍后討論。


標題名稱:簡單學會Hibernate對象持久化
本文路徑:http://www.5511xx.com/article/cdgehse.html