【Hibernate】@DynamicUpdate(true)的使用

在使用Hibernate的時候, 我們發現如果使用session.update(entity)來更新一個對象的屬性值的時候, 就會出現一個問題: 我想更新一個字段, 但是更新之后發現數據庫中除了主鍵之外的其他字段全部變成null, 問題就解釋到這里

解決方案:

  • XML: 使用dynamic-update=true
    • 位置: *.hbm.xml中的class標簽的屬性dynamic-update
  • Annotation: 使用@DynamicUpdate(true)
    • 位置: *.java實體類上打上標簽

? 注意: DynamicUpdate: 只更新同一個session里面,同一個對象有改變的字段。說白了, 就是在更新某條記錄之前, 先把這條記錄從數據庫查出來, 那么這條數據就在session(一級緩存)中, 我們再去修改這個對象的數據即可;

DynamicInsert: 只是插入那些不為空的字段;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容