Hibernate持久化对象状态和session缓存ppt课件.ppt

Hibernate持久化对象状态和session缓存ppt课件.ppt

ID:59476111

大小:1.08 MB

页数:34页

时间:2020-09-14

Hibernate持久化对象状态和session缓存ppt课件.ppt_第1页
Hibernate持久化对象状态和session缓存ppt课件.ppt_第2页
Hibernate持久化对象状态和session缓存ppt课件.ppt_第3页
Hibernate持久化对象状态和session缓存ppt课件.ppt_第4页
Hibernate持久化对象状态和session缓存ppt课件.ppt_第5页
资源描述:

《Hibernate持久化对象状态和session缓存ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Hibernate持久化对象状态 和Session缓存本篇内容Hibernate中持久化对象的三种状态Session缓存一、持久化对象的三种状态Hibernate以持久化对象(PO)为基础,通过操作PO对象,进一步操作与PO对象关联的数据库表记录Hibernate编程,持久化对象主要存在三种状态瞬时状态(transientstate)持久状态(persistentstate)脱管状态(detachedstate)1.1瞬时状态(transientstate)当程序中通过new操作符实例化一个PO对象,而这个对象还

2、没有被Session对象操作,也就是没有和一个Session对象关联时,则称这个PO对象为瞬时状态对象瞬时状态对象的特点:没有与数据库表中的记录没有对应的映射关系Studentstu=newStudent();stu.setNumber(“1001”);..//省略其它属性设置Configurationcf=newConfiguration();cf.configure();SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSessio

3、n();session.beginTransaction();session.save(stu);session.getTransaction.commit();session.close();stu对象此时为“瞬时状态对象”1.2持久状态(persistentstate)如果一个PO对象与一个Session对象相关联,比如被Session对象保存的、加载的、更新的,则称这个PO对象为持久状态对象“与Session对象相关联”:意思是:被HibernateSession对象所接管,处在Session对象工作单元之

4、内Studentstu=newStudent();stu.setNumber(“1001”);..//省略其它属性设置Configurationcf=newConfiguration();cf.configure();SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSession();session.beginTransaction();session.save(stu);session.getTransaction.commit()

5、;session.close();stu对象此时为“持久状态对象”持久状态——session保存的持久状态——session更新的Studentstu=newStudent();stu.setId(1);stu.setNumber(“1001”);..//省略其它属性设置Configurationcf=newConfiguration();cf.configure();SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSession()

6、;session.beginTransaction();session.update(stu);session.getTransaction.commit();session.close();stu对象此时为“持久状态对象”持久状态——session加载的Configurationcf=newConfiguration();cf.configure();SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSession();session

7、.beginTransaction();Studentstu=(Student)session.get(Student.class,1);session.getTransaction.commit();session.close();stu对象此时为“持久状态对象”持久状态对象的特点持久状态对象的特点:与数据库表中的一条记录有对应的映射关系与Session相关联,位于Session对象缓存之中持久状态对象有改变,事务提交之后,Hibernate会自动检测到其变化,并将变化反映到数据库之中1.3脱管状态(detac

8、hedstate)当与持久状态对象关联的Session关闭后,该对象就变成脱管状态对象Configurationcf=newConfiguration();cf.configure();SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSession();session.beginTransac

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。