永发信息网

hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了

答案:3  悬赏:80  手机版
解决时间 2021-03-29 12:23
hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了
最佳答案
hibernate对象的三种状态。
瞬时态(没有id,不与session关联)
持久态(有id,与session关联)
托管态(有id,不与session关联)

User user = new User();//新建的对象是瞬时态

session.save(user);//save后,user变成持久态

user.setAge(20);//对持久态的改变,会在session提交时自动更新数据库

session.close();//session关闭后,user变成托管态

user.setAge(19);//这时改变其属性,将不会自动更新数据库

session.update(user);//更新托管态对象到数据库,并且将其重新变为持久态。

最后:
session.get()
session.load()
session.createCriteria().list()
查询出来的都是持久态。
全部回答
你在setAge的时候直接操作的是user这个引用指向的那个对象的内存,set完之后这个对象中的age就已经是20了,这个不涉及到数据库的增删改查
save以后user就在session中了,hibernate有个自动提交功能(auto commit),session结束时可以自动将session里修改过的内容提交到数据库,所以,就是这个现象。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电力概算定额复杂地面工作内容是否包含盖板上
关于柱子的成语
求典范英语7的第9~14本中文故事概括,大约60
eclipse如何设置系统类名的颜色?
老麦子、雪梨炖鸭行吗
求BL重生修真,空间文
送人坐长途车回家用什么语言表达
佛山晚上哪里有好玩的
一个220V转5V40A的电源是多少瓦的
北京煤改电是否属于清洁能源自采暖?
AVIA润滑油怎么样?中文名字叫艾卫亚,好像是
怎么对付没有素质的楼上邻居?
遮蔽的天空的精彩对白
负衡据鼎,诚信重责
有哪些好的民航商务学校
推荐资讯
流氓打人反被打还要讹人,我该怎么办
依诗黎的护肤品先用原液还是精华?想知道一下
苹果系统的平面设计软件怎么下载
金华的广告语怎么写
汽车门锁不好用了。检查说是JE问题。一个控制
4寸潜水抽沙泵能抽沙层多深
他特别珍什么套书,因为那是找了很多地方才买
长期饮用含硫的饮用水对人体有害吗?
LoveU婚恋的隐私保护靠谱吗?
ofo自行车密码用一次就会变吗
起源于何时 中国出土最早茶具为东汉烧造
火车票 g80 3车厢什么座位
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?