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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827222
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          示例數據表: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")。




          posted on 2007-11-03 21:13 Ke 閱讀(1941) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 漯河市| 永清县| 且末县| 会理县| 叙永县| 怀集县| 武冈市| 龙井市| 平和县| 乌鲁木齐县| 大安市| 永嘉县| 乌审旗| 图们市| 共和县| 神木县| 达日县| 土默特左旗| 孟连| 微山县| 河曲县| 乌拉特中旗| 闽清县| 丰台区| 乌兰察布市| 射阳县| 乌兰浩特市| 湖北省| 嘉峪关市| 沈丘县| 图木舒克市| 内乡县| 江川县| 高阳县| 邛崃市| 昌吉市| 荃湾区| 奎屯市| 温泉县| 高台县| 六盘水市|