Hibernate关于对象的三种状态

本文深入探讨了ORM映射中对象的三种状态:持久态、游离态和自由态。持久态指对象在session管理下与数据库保持同步;游离态指不在session管理但数据库中有对应数据的对象;自由态则指既不在session管理也无数据库对应数据的对象。文章通过具体代码示例解析了不同状态间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

持久态

 session空间中有这个对象(该对象纳入了session的管理范围),数据库中有与之对应的数据

持久态数据:对象中的属性值与数据库中的数据保持一致,如没有,则会同步更新(发送修改语句)

	Student s=session.get(Student.class,4);
	//重新赋值
	s.setSage(13);
	//session.update(s);(可以不要)

游离态

	//session空间中没有这个对象(该对象没有纳入session的管理范围),数据库中有与之对应的数据
	Student s=new Student();
	//将对象踢出session
	session.evict(s);
	s.setSage(21);

自由态

		//session空间中没有这个对象(该对象没有纳入session的管理范围),数据库中没有与之对应的数据
		//新建一个对象
		Student s=new Student();
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值