我正在使用Hibernate 4.1.7.Final並嘗試使用session.merge(entity)
方法更新對象。實體標註有:Hibernate @SelectBeforeUpdate(true)和@DynamicUpdate(true)不能與session.merge一起使用
@SelectBeforeUpdate(true)
和@DynamicUpdate(true)
然而,我發現,合併方法會覆蓋原有的非空字段(在先前堅持實體)與實體空值被合併 - 這是我不想要。我認爲@DynamicUpdate
只會更新非空值。
在Hibernate文檔的合併方法的描述是:
複製給定對象的狀態到具有 相同標識符持久對象。如果當前沒有與會話關聯的持久實例 ,它將被加載。返回持久的 實例。如果給定實例未保存,請保存其副本並將其作爲新持久實例返回 。給定的實例不會成爲與會話關聯的 。如果關聯映射爲級聯=「合併」,則該操作級聯到關聯的 實例
任何想法有什麼問題?
謝謝。