国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

hibernate save和update以及saveOrUpdate區別

2024-07-21 02:51:20
字體:
來源:轉載
供稿:網友

save()方法很顯然是執行保存操作的,如果是對一個新的剛new出來的對象進行保存,自然要使用這個方法了,數據庫中沒有這個對象。

update()如果是對一個已經存在的托管對象進行更新那么肯定是要使用update()方法了,數據中有這個對象。

saveOrUpdate()這個方法是更新或者插入,有主鍵就執行更新,如果沒有主鍵就執行插入。

 

區別:對于一個從托管狀態到瞬態的對象(對于一個從數據庫中取出來又被刪除的對象),這個對象本身是有主鍵的,但是因為被刪除了,所以這個時候因為數據庫中已經沒有了這條記錄了。不過它還有主鍵存在,所以這個時候不可以使用update()或者是saveOrUpdate(),因為update()方法是認為數據庫中肯定有這條記錄的,而saveOrUpdate的執行過程就是先查看這個對象是不是有主鍵,有主鍵那么就執行update()方法,沒有主鍵就執行save()方法,因此結果跟調用了update()方法的效果是一樣的,結果就會出錯,因為這個對象已經被刪除了,數據庫中已經沒有這條記錄了,只是它還有主鍵而已(僅僅是存在于內存中),因此這個時候要執行的是save()方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇安县| 阿坝| 肥东县| 石阡县| 高碑店市| 湖口县| 保山市| 营山县| 唐河县| 高台县| 灌云县| 开封县| 余干县| 台江县| 华亭县| 耿马| 西青区| 和林格尔县| 五家渠市| 庆安县| 辽中县| 阿尔山市| 金山区| 礼泉县| 富阳市| 石狮市| 岳普湖县| 土默特右旗| 米脂县| 年辖:市辖区| 济源市| 时尚| 孟津县| 涟源市| 新宁县| 永春县| 合水县| 梅河口市| 图木舒克市| 炉霍县| 桓仁|