浅谈Hibernate中加载的三种类型

一:Hibernate实体对象的加载

专注于为中小企业提供成都网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业洛南免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

比如说:用户和订单的关系是一对多,虽然它们有关联,但是默认是延迟加载Lazy=“true”,最终得到的是代理对象,如果要访问代理对象的属性的话,则会抛出异常,

解决方法:leftjoinfetch迫切抓取连接

selectufromUseruleftjoinfetchOrdero;

二:Hibernate普通属性

默认是:lazy=“false”

如果要改为延迟方法较麻烦

三:Hibernate集合对象

setlistmap默认Lazy=“true”

1:List

 
 
 
  1. Java代码
  2. <listnamelistname="diarys"table="petDiary"cascade="all"inverse="true">
  3. <keycolumnkeycolumn="petId">
  4. <indexcolumnindexcolumn="listindex">
  5. <one-to-manyclassone-to-manyclass="com.lovo.po.PetDiary"/>
  6. <listnamelistname="diarys"table="petDiary"cascade="all"inverse="true">
  7.   <keycolumnkeycolumn="petId">
  8.   <indexcolumnindexcolumn="listindex">
  9.   <one-to-manyclassone-to-manyclass="com.lovo.po.PetDiary"/>

2:set

 
 
 
  1. Java代码
  2. <setnamesetname="orders"
  3. table="t_order"
  4. cascade="all"
  5. inverse="true"
  6. lazy="true"
  7. >
  8. <keycolumnkeycolumn="fk_customer_id">
  9. <one-to-manyclassone-to-manyclass="Order"/>
  10. <setnamesetname="orders"
  11. table="t_order"
  12. cascade="all"
  13. inverse="true"
  14. lazy="true"
  15. >
  16. <keycolumnkeycolumn="fk_customer_id">
  17. <one-to-manyclassone-to-manyclass="Order"/>

3:map

 
 
 
  1. Java代码
  2. privateMapschool=newHashMap();
  3. publicMapgetSchool(){
  4. returnschool;
  5. }
  6. publicvoidsetSchool(Mapschool){
  7. this.school=school;
  8. }
  9. privateMapschool=newHashMap();
  10. publicMapgetSchool(){
  11. returnschool;
  12. }
  13. publicvoidsetSchool(Mapschool){
  14. this.school=school;
  15. }
 
 
 
  1. Xml代码
  2. <mapnamemapname="school"table="schools">
  3. <keycolumnkeycolumn="pid"not-null="true"/>
  4. <map-keytypemap-keytype="string"column="indet"/>
  5. <elementtypeelementtype="float"column="score"/>
  6. privateMapschool=newHashMap();
  7. publicMapgetSchool(){
  8. returnschool;
  9. }
  10. publicvoidsetSchool(Mapschool){
  11. this.school=school;
  12. }
  13. privateMapschool=newHashMap();
  14. publicMapgetSchool(){
  15. returnschool;
  16. }
  17. publicvoidsetSchool(Mapschool){
  18. this.school=school;
  19. }
 
 
 
  1. Xml代码
  2. <mapnamemapname="school"table="schools">
  3. <keycolumnkeycolumn="pid"not-null="true"/>
  4. <map-keytypemap-keytype="string"column="indet"/>
  5. <elementtypeelementtype="float"column="score"/>

key子元素用于映射外键列,而map-key子元素则用于映射Map集合的Key。

网站题目:浅谈Hibernate中加载的三种类型
网站URL:http://www.shufengxianlan.com/qtweb/news41/247091.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联