Hibernate框架(3) —— ORM元數據(配置詳解)

、orm元數據示例

<hibernate-mapping>

    <class name=”cn.it.domain.Customer” table=”cst_customer”>

        <id name=”cust_id” column=”cust_id”>

            <generator class=”native”></generator>

        </id>

        <property name=”cust_name” column=”cust_name”></property>

        <property name=”cust_source” column=”cust_source”></property>

        <property name=”cust_industry” column=”cust_industry”></property>

        <property name=”cust_level” column=”cust_level”></property>

        <property name=”cust_linkman” column=”cust_linkman”></property>

        <property name=”cust_phone” column=”cust_phone”></property>

        <property name=”cust_mobile” column=”cust_mobile”></property>

    </class>

</hibernate-mapping>


二、根元素

1. 配置的根元素

    <hibernate-mapping> </hibernate-mapping>

   用來填寫hibernate映射。

2. 配置根元素的屬性 package

package屬性:填寫一個包名。

在元素內部凡是需要完整類名的屬性,可以直接使用簡單類名。

    <hibernate-mapping package=“cn.it.domain”> 填寫實體類所在的包


三、class元素

<class name=”Customer” table=”cst_customer”>

1. 作用:配置實體與表的對應關係

2. 屬性作用:

name屬性:完整類名

table屬性:數據庫表名


四、類內部映射

1. 主鍵映射(id元素)

<id name=”cust_id” column=”cust_id”>

    generator:主鍵生成策略

    <generatorclass=”native”></genernator>

</id>

    作用:配置主鍵映射的屬性

     屬性作用:

        1. name屬性:填寫主鍵對應屬性名

        2. column(可選)屬性:填寫表中的主鍵列名。默認值:列名會默認使用屬性名

        3. type(可選)屬性:填寫該列(屬性)的類型。Hibernate會自動檢測實體的屬性類型。

            每個類型有三種填法:Java類型 | hibernate類型 | SQL類型

        4. not-null(可選)屬性:配置該屬性(列)是否不能爲空,默認值:false

        5. length(可選)屬性:配置數據庫中列的長度。默認值:使用數據庫類型的最大長度


2. 普通屬性映射(property元素)

<property name=”cust_name” column=“cust_name”>

</property>

    A  作用:除id之外的普通屬性映射

    B  屬性作用:

        1. name:填寫主鍵對應屬性名

        2. column(可選):填寫表中的主鍵列名,列名默認使用屬性名。<property name=”cust_name”>

        3. type(可選)屬性:填寫該列(屬性)的類型。Hibernate會自動檢測實體的屬性類型,也可以手動指定類型,

            方法有三種:Java類型 | hibernate類型 | SQL類型 :

            a Java類型:

                <property name=”cust_name” column=“cust_name” type="java.lang.String">

                </property>

            b hibernate類型:

            c SQL類型:     

                <propertyname=”cust_name” column=”cust_name”>

                    <column name="cust_name" sql-type="varchar"></column>

                </property>

            注意:開發中,不需要指定,使用系統默認方式!

        4. not-null(可選)屬性:配置該屬性(列)是否不能爲空,默認值:false

        5. length(可選)屬性:配置數據庫中列的長度。默認值:使用數據庫類型的最大長度,

            例如“cust_name”在數據庫中是varchar類型,最長爲255位。

發佈了42 篇原創文章 · 獲贊 17 · 訪問量 8777
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章