Jpa 更改对象属性会被自动保存到数据库
项目环境
springboot + jpa + mysql
出现的情况
例如保存一个用户 user
在方法内通过Jpa提供的 JpaRepository类调用 CrudRepository提供的save(S entity)
方法保存后得到返回的对象 user
情况1.修改user对象的属性,方法后续还有对数据库的操作
则该user对象的更改会被自动提交到数据库进行保存
情况2.修改user对象的属性,方法后续没有对数据库的操作
则该user对象的更改不会被自动提交到数据库
网上都说是hibernate的返回对象处于托管状态,有事务参与,但和我的这种情况不太符合,并不是修改后就一定会提交到数据库,
而且对数据库的多次操作,也并没有设置使他们都处于同一个事务,没有加任何事务
解决办法:
还没找到好办法,先避免这种使用方法吧(无奈)
待续。。。。。。