Hibernate试验03_06.批量延迟加载.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
批量延迟加载 实验目的 帮助学生理解掌握批量延迟加载的使用方式及其含义。 技术要点 SQL基础知识; Hibernate基础知识。 实验步骤 打开HibernateProject03,下面我们演示批量加载。 假设班级和学生是一对多关联,现在采用批量延迟加载得到班级,班级对象会通过类关联取得所有的学生数据,学生和身份证采用延迟加载策略。此时,我们Student.hbm.xml、Team.hbm.xml、Certificate.hbm.xml,如下: Student.hbm.xml: …… !--把类和数表关联起来-- class name=com.qrsx.hibernate.model.Student table=student lazy=false …… one-to-one name=cer class=com.qrsx.hibernate.model.Certificate constrained=true outer-join=false cascade=all/ many-to-one name=team column=team_id outer-join=false class=com.qrsx.hibernate.model.Team fetch=select / …… Team.hbm.xml: …… class name=com.qrsx.hibernate.model.Team table=team lazy=false …… set name=students inverse=true batch-size=2 outer-join=false lazy=true key column=team_id / one-to-many class=com.qrsx.hibernate.model.Student / /set …… Certificate.hbm.xml: …… class name=com.qrsx.hibernate.model.Certificate table=certificate lazy=true …… 修改TeamDAO的getAllTeam()方法,修改如下: TeamDAO.java: /*------------取得所有Team-----------------*/ public static List getAllTeam() { List list = null; try { session = HibernateUtil.currentSession(); // 开启连接 tx = session.beginTransaction(); // 开启事务 list = (List) session.createQuery(from Team t).list(); mit(); HibernateUtil.closeSession(session); Team team = (Team)list.get(0); System.out.println(team.getStudents().size()); } catch (HibernateException e) { // 捕捉例外 e.printStackTrace(); tx.rollback(); } return list; } 运行TeamManager,控制台执行结果如下: Eclipse Console: Hibernate: select team0_.id as id2_, team0_.teamName as teamName2_ from team team0_ ERROR [main] (LazyInitializationException.java:19) - failed to lazily initialize a collection of role: com.qrsx.hibernate.model.Team.students, no session or session

文档评论(0)

rijindj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档