java Hibernate延迟加载

kulouyuan

kulouyuan

2016-02-19 11:40

今天图老师小编给大家展示的是java Hibernate延迟加载,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!
示例数据表:team(班级)、certificate(身份证)、student(学生)

Team.hbm.xml
?xml version="1.0" encoding="utf-8"?
!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
!--
    Mapping file autogenerated by MyEclipse Persistence Tools
--
hibernate-mapping
    class name="edu.dgut.ke.model.Team" table="TEAM" lazy ="true" !-- 多对一的延迟加载设置 --
        id name="id" type="java.lang.String"
            column name="ID" length="32" /
            generator class="uuid.hex" /
        /id
        property name="teamname" type="java.lang.String"
            column name="TEAMNAME" length="32" not-null="true" unique="true" /
        /property
        set name="students" inverse="true" cascade="all" lazy="true" !-- 一对多的延迟加载设置 --
            key
                column name="TEAMID" length="32" not-null="true" /
            /key
            one-to-many class="edu.dgut.ke.model.Student" /
        /set
    /class
/hibernate-mapping

Certificate.hbm.xml
?xml version="1.0" encoding="utf-8"?
!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
!--
    Mapping file autogenerated by MyEclipse Persistence Tools
--
hibernate-mapping
    class name="edu.dgut.ke.model.Certificate" table="CERTIFICATE" lazy="true" !-- 一对一的延迟加载设置 --

        id name="id" type="java.lang.String"
            column name="ID" length="32" /
            generator class="uuid"

            /generator
        /id
        property name="describe" type="java.lang.String"
            column name="`DESCRIBE`" length="50" not-null="true" /
        /property
        one-to-one name="student"
        class="edu.dgut.ke.model.Student"
         constrained="true" !-- 一对一的延迟加载设置 --

        /one-to-one
    /class
/hibernate-mapping

Student.hbm.xml
?xml version="1.0" encoding="utf-8"?
!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
!--
    Mapping file autogenerated by MyEclipse Persistence Tools
--
hibernate-mapping
    class name="edu.dgut.ke.model.Student" table="STUDENT" lazy="true"
        id name="id" type="java.lang.String"
            column name="ID" length="32" /
            generator class="uuid.hex" /
        /id
        many-to-one name="certificate"
        class="edu.dgut.ke.model.Certificate"
        unique="true"
        column="cardId"
        cascade="all"
       
        /many-to-one
        many-to-one name="team" class="edu.dgut.ke.model.Team"
            column name="TEAMID" length="32" not-null="true" /
        /many-to-one
        property name="studentname" type="java.lang.String"
            column name="STUDENTNAME" length="16" not-null="true" unique="true" /
        /property
    /class
/hibernate-mapping
注意:对one-to-one 关系进行延迟加载和其他关系相比稍微有些不同。many-to-one 的延迟加载是在配置文件的class 标签
上设置 lazy="true" ,one-to-many 和 many-to-many 的延迟加载是在 set 标签中设置lazy="true"。而one-to-one 不只要在 classs
标签设置 lazy="true",而且要在one-to-one 标签中设置constrained="true" 。
如果不设置constrained="true",则一对一查询使用默认的预先抓取策略(fetch="join")。
展开更多 50%)
分享

猜你喜欢

java Hibernate延迟加载

编程语言 网络编程
java Hibernate延迟加载

Java开源项目Hibernate

Java JAVA基础
Java开源项目Hibernate

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ImagesLazyLoad 图片延迟加载效果

Web开发
ImagesLazyLoad 图片延迟加载效果

Java开源项目Hibernate深度探险

编程语言 网络编程
Java开源项目Hibernate深度探险

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

初探Java类加载机制

Java JAVA基础
初探Java类加载机制

Lazy Load 延迟加载图片的 jQuery 插件

Web开发
Lazy Load 延迟加载图片的 jQuery 插件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

WPS怎样制作一个刻度表

WPS怎样制作一个刻度表

Java邮件发送程序(可以同时发给多个地址、可以带附件)

Java邮件发送程序(可以同时发给多个地址、可以带附件)
下拉加载更多内容 ↓