hibernate高级特性_1
来源:互联网 发布:h3c防火墙web端口登录 编辑:程序博客网 时间:2024/04/30 15:37
hibernate对象生命周期内的三种状态
1. transient(自由状态)
自由状态就是java对象创建出来,在内存中自由存在,与数据记录无关
2. Persistent(持久状态)
持久状态就是处于hibernate框架所管理的状态。这种状态下,实体对象的引用被hibernate容器加以管理。
3. Detached(游离状态)
游离状态就是在java对象所对应的session实例关闭后所处的状态
处于自由状态的对象,可以通过Session.save()转换为持久状态,同样,一个对象由Session.load()加载,也处于持久状态
Session可以看作是持久状态对象的宿主。如果Session失效,则对象就变为游离状态
Session.delete()可以使处于持久状态的对象变为自由状态
自由状态与游离状态区别
处于游离状态的对象可以再次同Session关联变为持久状态
OrderItem oi = new OrderItem();
oi.setItemNum(1);
oi.setOrderDetail( "TV set" );
oi.setOrderSeri( "12345" );
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
session.save(oi);
tx.commit();
session.close();
此时,oi处于游离状态
在另外一段代码中出现
Session session2 = sessionFactory.openSession();
Transaction tx2 = session.beginTransaction();
session2.update(oi);
oi.setOrderDetail( "television" );
tx2.commit();
session2.close();
此时,当session2.update(oi)执行后,再执行oi.setOrderDetail(),可以发现数据库中的数据已经改变了,而我们并没有显示的将oi变为持久状态
自由状态与数据库记录无关,我们不能通过处于自由状态的对象来搜索数据库。而处于游离状态的对象虽然与Session脱离,但是我们可以通过它来寻找数据库中相应的记录
- hibernate高级特性_1
- Hibernate高级特性
- Hibernate一些高级特性
- Hibernate中的高级特性
- Hibernate基本特性和高级特性
- Hibernate学习笔记之高级特性
- Hibernate高级特性以及性能优化
- Hibernate高级特性的随堂笔记
- android_高级控件_1
- hibernate基础_1
- Hibernate 性能优化_1
- Hibernate关联操作、查询操作、高级特性、并发处理机制
- 操作系统高级教程系列_1
- Swift的一些特性_1
- 高级特性
- 高级特性
- 高级特性
- 高级特性
- 二叉树类模块(原创)
- 网站测试技术介绍
- 金额数字(小写)转换成文字(大写)
- Google的秘密通道
- 增值平台已经初见成效了。
- hibernate高级特性_1
- Struts + Hibernate分页显示 v1.0
- IT从业人员必看的10个论坛
- 采用神经网络进行城市中长期负荷预测的一种信息系统
- DOS下把.vb编译成.dll的
- SQL SERVER ODBC 出错
- SQL Server非正常删除日志文件(ldf)恢复方法
- 木马//我想知道事情的真相,请大家帮忙
- 世界上最美丽的英文-人生短篇 节选