hibernate试验03_06.批量延迟加载

hibernate试验03_06.批量延迟加载

ID:14083247

大小:63.50 KB

页数:4页

时间:2018-07-25

hibernate试验03_06.批量延迟加载_第1页
hibernate试验03_06.批量延迟加载_第2页
hibernate试验03_06.批量延迟加载_第3页
hibernate试验03_06.批量延迟加载_第4页
资源描述:

《hibernate试验03_06.批量延迟加载》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实践1批量延迟加载实验目的帮助学生理解掌握批量延迟加载的使用方式及其含义。技术要点lSQL基础知识;lHibernate基础知识。实验步骤1.打开HibernateProject03,下面我们演示批量加载。2.假设班级和学生是一对多关联,现在采用批量延迟加载得到班级,班级对象会通过类关联取得所有的学生数据,学生和身份证采用延迟加载策略。此时,我们Student.hbm.xml、Team.hbm.xml、Certificate.hbm.xml,如下:Student.hbm.xml:……

2、ssname="com.qrsx.hibernate.model.Student"table="student"lazy="false">……

3、rnate.model.Team"fetch="select"/>……Team.hbm.xml:…………

4、udent"/>……Certificate.hbm.xml:…………1.修改TeamDAO的getAllTeam()方法,修改如下:TeamDAO.java:/*------------取得所有Team-----------------*/publicstaticListgetAllTeam(){Listlist=null;try{session=Hib

5、ernateUtil.currentSession();//开启连接tx=session.beginTransaction();//开启事务list=(List)session.createQuery("fromTeamt").list();tx.commit();HibernateUtil.closeSession(session);Teamteam=(Team)list.get(0);System.out.println(team.getStudents().size());}catch(HibernateExcept

6、ione){//捕捉例外e.printStackTrace();tx.rollback();}returnlist;}2.运行TeamManager,控制台执行结果如下:EclipseConsole:Hibernate:selectteam0_.idasid2_,team0_.teamNameasteamName2_fromteamteam0_ERROR[main](LazyInitializationException.java:19)-failedtolazilyinitializeacollectionofrole:

7、com.qrsx.hibernate.model.Team.students,nosessionorsessionwasclosed1.上述程序在Session关闭后试图打印延迟加载的学生集合,于是弹出了例外,这说明批量延迟加载是在“延迟”的基础上运行批量加载的。2.重新修改TeamDAO的getAllTeam()方法,修改如下:TeamDAO.java:/*------------取得所有Team-----------------*/publicstaticListgetAllTeam(){Listlist=null;t

8、ry{session=HibernateUtil.currentSession();//开启连接tx=session.beginTransaction();//开启事务list=(List)session.createQuery("fromTeamt").list();Teamteam1=(Team)l

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

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

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