【发布时间】:2020-11-05 16:09:01
【问题描述】:
在java中我创建了一个SalaryscaleDelinked对象,然后调用hibernate merge,成功保存到db。
然后我创建一个新的 SalaryscaleDelinked 对象,分配相同的 pk 但其他字段被更改,然后调用 hibernate 合并,我希望 hibernate 会抛出主键异常(因为它是具有相同 pk 的新对象),但它说
“onFlushDirty:检测到脏对象 com.frw.hdo.SalaryscaleDelinked@1c340517,id 为“04425”
并生成更新sql并使用相同的主键更新db记录。
-
为什么会这样?
-
使用什么hibernate方法或者什么情况下会导致上述场景抛出重复主键异常?
【问题讨论】: