Jpa 更改对象属性会被自动保存到数据库

项目环境

springboot + jpa + mysql

出现的情况

例如保存一个用户 user

在方法内通过Jpa提供的 JpaRepository类调用 CrudRepository提供的save(S entity)

方法保存后得到返回的对象 user

情况1.修改user对象的属性,方法后续还有对数据库的操作

则该user对象的更改会被自动提交到数据库进行保存

情况2.修改user对象的属性,方法后续没有对数据库的操作

则该user对象的更改不会被自动提交到数据库

网上都说是hibernate的返回对象处于托管状态,有事务参与,但和我的这种情况不太符合,并不是修改后就一定会提交到数据库,

而且对数据库的多次操作,也并没有设置使他们都处于同一个事务,没有加任何事务

解决办法:

还没找到好办法,先避免这种使用方法吧(无奈)

待续。。。。。。

posted @ 2019-07-17 11:30  imfx  阅读(4524)  评论(0编辑  收藏  举报