Hibernate 修改数据先get出实体,然后修改属性值,但是没有save,修改后的数据也保存到数据库了。why?

2025-03-01 22:04:22
推荐回答(3个)
回答1:

首先,你这个old对象是在session中取得的,所以这个对象已经和数据库同步了,或者说相关联了

如果你的session中的old对象发生变法,提交事务后,数据库中的数据也会更新

你注视了save方法,不要以为session就不会在和数据库打交道了,在你整个方法执行完毕,session就会关闭,在关闭之前,session会自动提交事务,清理缓存,这个操作注定是要和数据库打交道,也就是更新数据库数据

回答2:

缓存?重启IDE再试下。

回答3:

不可能