甜咖啡

          我的IT空間

          Hibernate映射分析

          一般屬性映射

          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC
                  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                  "

          <!--
           package屬性,表示當前配置中所寫的類名如果沒有包名,則默認是這個包中的。
           -->
          <hibernate-mapping package="cn.rose.b_hbm">

           <!-- <class>元素表示哪個類與對應哪個表,一個class元素代表一個類的映射。
            name屬性,類的全限定名(帶包名)。
            table屬性,對應的表名,這個屬性可以不寫,代表表名和對象的簡單名稱是一樣的。
             -->
           <class name="User" table="itcast_user">
            <!-- 一、主鍵映射  -->
            <id name="id" type="int">
                      <generator class="native"/>
            </id>
            <!-- 二、一般屬性映射(值類型,在數(shù)據(jù)庫中一個列可以存放的屬性,例:int, varchar, date) -->
            <!--
             使用property元素映射值類型的屬性。
             name屬性:對象中的屬性名,必須要有。
             column屬性:對應的表中的列名,可以沒有,默認為屬性名。
             type屬性:指定的是數(shù)據(jù)類型,有兩種指定的方式:
                1,指定hibernate類型,例:string, int
                2,指定Java類型,例:java.lang.String, java.lang.Integer
             length屬性:指定對應的表中的列的長度限制,可以不寫。
                   在類型為string,text等時,指定length有效;
                   在類型為int,long等時,指定length無效。
             -->
            <property name="name" column="name" type="string" length="32" />
            
            <property name="gender" type="int" />
            <property name="birthday" type="date"  />
            <property name="photo" type="binary" length="512000" />
            <!-- 指定了length=5000,則生成的數(shù)據(jù)庫表中的列的text類型會至少能存5000個字符 -->
            <property name="resume" type="text" length="5000" />
            
            <!-- 三、集合映射(數(shù)組、List、Set、Map) -->
            <!-- 四、關聯(lián)關系映射(一對多,一對一,多對一、繼承) -->
           </class>

          </hibernate-mapping>

          關于集合的映射

           

           

          <hibernate-mapping package="cn.rose.d_hbm_collection" >

           <class name="User" table="itcast_user">
            <id name="id">
             <generator class="native"></generator>
            </id>
            <property name="name"></property>
            
            <!-- Set集合映射(addressSet屬性) -->
            <set name="addressSet" table="rose_user_addressSet">
             <key column="userId"></key>
             <element column="address" type="string" length="128"></element>
            </set>
            
            <!-- List集合映射(addressList屬性) -->
            <list name="addressList" table="rose_user_addressList">
             <key column="userId"></key>
             <list-index column="index_"></list-index>
             <element column="address" type="string" length="128"></element>
            </list>
            
            <!-- Bag集合映射(addressBag屬性) -->
            <bag name="addressBag" table="rose_user_addressBag">
             <key column="userId"></key>
             <element column="address" type="string" length="128"></element>
            </bag>  
            
           </class>

          </hibernate-mapping>

           

           

          聯(lián)合主鍵映射

          <hibernate-mapping package="cn.rose.c_hbm_id2" >

           <class name="User" table="itcast_user" mutable="true" dynamic-insert="true" dynamic-update="true">
            
            <!-- 一、聯(lián)合主鍵映射  -->
            <!--
            <composite-id>
             <key-property name="firstName" column="firstName" type="string" length="32"></key-property>
             <key-property name="lastName" column="lastName" type="string" length="32"></key-property>
            </composite-id>
             -->
            <composite-id name="name" class="Name">
             <key-property name="firstName" column="firstName" type="string" length="32"></key-property>
             <key-property name="lastName" column="lastName" type="string" length="32"></key-property>
            </composite-id>
            
            <property name="birthday" type="date"></property>
           </class>

          </hibernate-mapping>

          posted on 2011-03-26 23:33 甜咖啡 閱讀(608) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          <2011年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統(tǒng)計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江孜县| 万宁市| 长宁县| 博乐市| 汉中市| 沂南县| 台南县| 普陀区| 保山市| 正定县| 北碚区| 庄浪县| 阳曲县| 长丰县| 南川市| 海南省| 六盘水市| 九龙城区| 广宗县| 肥东县| 牡丹江市| 鄂伦春自治旗| 丹寨县| 滕州市| 吕梁市| 松潘县| 原阳县| 黑龙江省| 香港| 中西区| 四川省| 乌兰察布市| 鞍山市| 武隆县| 黄大仙区| 汪清县| 明溪县| 渑池县| 惠来县| 吉隆县| 宣威市|