Hibernate lock和update区别

update是把一个已经更改过的脱管状态的对象变成持久状态。

lock是把一个没有更改过的脱管状态的对象变成持久状态(针对的是因Session的关闭而处于脱管状态的po对象(2),不能针对因delete而处于脱管状态的po对象)

对应更改一个记录的内容,两个的操作不同:

update的操作步骤是:
(1)属性改动后的脱管的对象的修改->调用update lock的操作步骤是:

(2)调用lock把未修改的对象从脱管状态变成持久状态–>更改持久状态的对象的内容–>等待 flush或者手动flush。