采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
同学你好:
首先,你这里所说的“托管状态”我不太明白是什么含义;第二,set 操作是肯定不会触发自动更新,因为你可以考虑一个场景:
假如你的表有 100个字段,你需要对 100个字段做更新,那么,是不是每个属性 set 就会触发一次更新呢?这显然是不符合常理的。
一定需要调用 save 方法才会触发持久化。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
jpa中实体对象有四种状态,托管状态、持久化状态、游离状态和瞬时状态。当持久化状态(数据库的数据)被find()出来就变成了托管状态被会话所管理,此时对其进行set操作,持久层框架会在事务提交后会将托管状态的对象自动更新到数据库。 而且我在代码中测试确实是这样的。所以我想说如果对单个记录进行更新操作,是否就没有必要调用save方法进行全量更新了?谢谢老师
如果是这样,就不需要全量更新了
登录后可查看更多问答,登录/注册
广告营销系统,未来大中型企业的标配
1.7k 14
3.3k 10
1.2k 10
1.3k 8
1.1k 8