- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Hibernate检索(抓取)策略北京传智播客教育姜涛
Hibernate的检索策略知识点1:初始化测试数据北京传智播客教育publicvoidinitdata(){Sessionsession=sessionFacoty.openSession();Transactiontx=session.beginTransaction();Customerc=newCustomer();c.setName(“Tom”);//Jack、Rosec.setAge(20+newRandom().nextInt(12));session.save(c);for(inti=1;i=10;i++){Ordero=newOrder();o.setOrderNumber(NO+i);o.setPrice(5000+i*10d);c.getOrders().add(o);o.setCustomer(c);session.save(o);}mit();session.close();}
Hibernate的检索策略知识点2:区分立即检索和延迟检索查询编号为1的客户北京传智播客教育class标签中lazy=false立即检索publicvoidloadCustomerfalse(){Sessionsession=sessionFacoty.openSession();Transactiontx=session.beginTransaction();//该行代码让hibernate执行select语句,查询数据库Customerc=(Customer)session.load(Customer.class,1);c.getId();c.getAge();mit();session.close();}class标签中lazy=true延迟检索publicvoidloadCustomertrue(){Sessionsession=sessionFacoty.openSession();Transactiontx=session.beginTransaction();Customerc=(Customer)session.load(Customer.class,1);//该行代码让hibernate执行select语句,//查询数据库(需要用的时候查数据库)c.getId();c.getAge();mit();session.close();}立即检索:立即加载检索方法指定的对象延迟检索:延迟加载检索方法指定的对象
Hibernate的检索策略知识点3:初始化延迟检索中的代理北京传智播客教育//初始化代理对象publicvoidloadCustomertrueProxyInit(){Sessionsession=sessionFacoty.openSession();Transactiontx=session.beginTransaction();//此时查询到的c对象是一个代理对象Customerc=(Customer)session.load(Customer.class,1);System.out.println(c.getClass());//代理对象//判断代理对象是否被初始化对集合对象也适用if(!Hibernate.isInitialized(c)){System.out.println(c.getClass());//代理对象System.out.println(没有被初始化);//方法一c.getAge();//会查询select语句//初始化代理对象的方法,hibernate执行select查询,方法二Hibernate.initialize(c);}mit();session.close();}
Hibernate的检索策略知识点3:理解延迟检索中的代理北京传智播客教育publicvoidloadCustomertrueProxy(){Sessionsession=sessionFacoty.openSession();Transactiontx=session.beginTransaction();//此时查询到的c对象是一个代理对象Customerc=(Customer)session.load(Customer.class,1);System
文档评论(0)