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

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

新聞中心

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

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

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

Hibernate對象持久化類(persistent class)新實例化的對象是瞬時(Transient)的。 我們可通過將瞬時(Transient)對象與session關(guān)聯(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的持久化標(biāo)識(identifier)是generated類型的, 那么該標(biāo)識(identifier)會自動在save()被調(diào)用時產(chǎn)生并分配給cat。 如果Cat的持久化標(biāo)識(identifier)是assigned類型的,或是一個復(fù)合主鍵(composite key), 那么該標(biāo)識(identifier)應(yīng)當(dāng)在調(diào)用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) ); 

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

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


文章題目:簡單學(xué)會Hibernate對象持久化
標(biāo)題鏈接:http://m.5511xx.com/article/cdgehse.html