- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > 編程語(yǔ)言 >
- Hibernate中merge如何使用
今天就跟大家聊聊有關(guān)Hibernate中merge如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Hibernate中的merge怎么使用
當ID在數據庫中能找到的時(shí)候,update與merge的執行效果都是更新數據,發(fā)出update語(yǔ)句;
如果沒(méi)有設置ID的話(huà),則這個(gè)對象就當作瞬態(tài)處理:
用update的話(huà),由于沒(méi)有ID,所以會(huì )報異常,merge此時(shí)則會(huì )保存數據,根據ID生產(chǎn)策略生成一條數據;
下面是當對象在第一個(gè)session關(guān)閉后,處于游離狀態(tài),第二個(gè)session開(kāi)啟,又get或load一樣的ID的數據出來(lái)時(shí),在第二個(gè)session中update那個(gè)游離態(tài)對象,update肯定會(huì )出錯,原因是程序會(huì )報持久層中已經(jīng)有該對象,因為第二個(gè)session重新從數據庫中獲取了一個(gè)對象成持久態(tài),你的update會(huì )讓那個(gè)游離態(tài)對象也變成持久態(tài),兩個(gè)持久態(tài)會(huì )沖突撒,然而用merge的話(huà),它會(huì )把第一個(gè)的對象數據賦值給已經(jīng)處于持久化的那個(gè)對象中,自己本身不得變?yōu)槌志脩B(tài);
Hibernate中的merge怎么使用
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站