隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          示例數(shù)據(jù)表: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 關(guān)系進行延遲加載和其他關(guān)系相比稍微有些不同。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")。




          posted on 2007-11-03 21:13 Ke 閱讀(1941) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 阿合奇县| 沛县| 唐海县| 韩城市| 景泰县| 陈巴尔虎旗| 尼玛县| 基隆市| 玉田县| 镇巴县| 大同县| 昌吉市| 台南市| 昂仁县| 年辖:市辖区| 平利县| 新邵县| 汪清县| 丁青县| 安仁县| 博客| 濮阳市| 明星| 远安县| 循化| 湘潭市| 麻栗坡县| 建瓯市| 黄大仙区| 柘荣县| 丰台区| 通化市| 莫力| 青浦区| 东海县| 永泰县| 五大连池市| 介休市| 营口市| 定襄县| 阿拉善盟|