hibernate 如何防止set后自动update
答案:2 悬赏:20 手机版
解决时间 2021-12-18 15:24
- 提问者网友:疯孩纸
- 2021-12-17 18:01
先select一个对象,在调用set修改了其中一个属性,并没有调用update方法,但是库表中的值做了相应的修改,其实我是不想修改表中值的
最佳答案
- 五星知识达人网友:孤独入客枕
- 2022-01-22 06:11
对啊,
你通过get(id)拿到的对象,就是持久化对象。
你对持久化对象的任何更改,会在session.flush或者提交事务的时候更新到数据库。
不过也要结合事务。
如:
开启事务。
查询对象。
改变对象。//不需要显示的update。
提交事务。
就可以更新数据库。
建议学习一下hibernate的瞬态,持久态,托管态。
你通过get(id)拿到的对象,就是持久化对象。
你对持久化对象的任何更改,会在session.flush或者提交事务的时候更新到数据库。
不过也要结合事务。
如:
开启事务。
查询对象。
改变对象。//不需要显示的update。
提交事务。
就可以更新数据库。
建议学习一下hibernate的瞬态,持久态,托管态。
全部回答
- 1楼网友:十鸦
- 2022-01-22 07:45
需求说明白点,你这标题模棱两可的
-------------------------------------------------------
你看看你的set方法是不是绑定 了update方法,正常情况下是不会有你说的这样的事情发生的。查出后就与数据库无关了。只有你让他保存的时候他才会保存到数据库的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |