甜咖啡

          我的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>
            <!-- 二、一般屬性映射(值類型,在數據庫中一個列可以存放的屬性,例:int, varchar, date) -->
            <!--
             使用property元素映射值類型的屬性。
             name屬性:對象中的屬性名,必須要有。
             column屬性:對應的表中的列名,可以沒有,默認為屬性名。
             type屬性:指定的是數據類型,有兩種指定的方式:
                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,則生成的數據庫表中的列的text類型會至少能存5000個字符 -->
            <property name="resume" type="text" length="5000" />
            
            <!-- 三、集合映射(數組、List、Set、Map) -->
            <!-- 四、關聯關系映射(一對多,一對一,多對一、繼承) -->
           </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>

           

           

          聯合主鍵映射

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

           <class name="User" table="itcast_user" mutable="true" dynamic-insert="true" dynamic-update="true">
            
            <!-- 一、聯合主鍵映射  -->
            <!--
            <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 甜咖啡 閱讀(609) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

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

          統計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北辰区| 洪洞县| 平凉市| 麻江县| 茂名市| 万全县| 商洛市| 高尔夫| 高陵县| 青海省| 靖远县| 枝江市| 赤壁市| 鹿邑县| 宜城市| 苍山县| 黄浦区| 政和县| 永济市| 南城县| 黄梅县| 建平县| 垣曲县| 峨眉山市| 靖安县| 原平市| 上林县| 灌云县| 景泰县| 滕州市| 嵩明县| 阜城县| 含山县| 普安县| 肇州县| 舒城县| 霍山县| 嘉善县| 樟树市| 宁海县| 莲花县|