Hibernate 映射配置文件詳解(一)


<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="cn.itcast.f_hbm_component.User" table="user">

       <id name="id">

            <generator class="native"/>

       </id>

       <property name="name"></property>

    </class>

</hibernate-mapping>

 

一、映射主鍵的配置方法:

 

主要是由generator子元素是指定主鍵生成策略,詳細說明如下:

<id name="id">

    <generator class="native"/>

</id>

<!-- identity,使用數據庫的自動增長,在保存時會忽略手工指定的主鍵值而由數據庫生成,要求此屬性要是數字類型

      <generator class="identity"/>

-->

<!-- assigned,手工指定,比如指定UUID

      <generator class="assigned"/>

-->

<!-- uuid,由Hibernate生成UUID並指定為主鍵值,要求此屬性要是String型

      <generator class="uuid"/>

-->

<!-- hilo,高低位生成主鍵,需要用到一個額外的表,所有的數據庫都可以使用這種類型

      <generator class="hilo">

      <param name="table">hi_value</param>

      <param name="column">next_value</param>

      <param name="max_lo">100</param>

      </generator>

-->

 <!-- native,根據底層數據庫的能力選擇 identity、sequence 或者 hilo 中的一個

      <generator class="native"/>

-->

 

二、普通屬性的聲明方法

 

<property name="name" type="string" column="name" not-null="true" length="35"/>

<property name="name"></property>     

<property name="gender"></property>

<!-- 日期要指定什么類型 -->

<property name="birthday" type="date"></property>

<!-- 大文本類型,最好指定長度 -->

<property name="desc" column="`desc`" type="text" length="5000"></property>

<!-- 二進制類型,最好指定長度 -->

<property name="photo" type="binary" length="512000"></property>

<!--

    ---------------------------說明---------------------------------

    name:對象中的屬性名,必須要有

    type:數據的類型,不寫時會自動檢測

    column:對應的列名,不寫時默認為屬性的名稱

    not-null:true/false,是否有非空約束,默認為false

    length:長度,默認為255

-->

最好都指定類型,類型制定的有兩種包括:Hibernate類型制定和Java基本數據類型制定,詳細的指定方法如下所示:

 

三、組成關系映射

 

直接新建一張表,表結構如下:

<component name="userAddress"   class="cn.itcast.UserAddress">

    <property name="address"></property>

    <property name="code"></property>

    <property name="phone"></property>

</component>]

 

四、集合關系映射

<set name="addressSet" table="user_addressSet">

    <key column="userId"/> 關聯列 == id

    <element column="address" type="string"></element>

</set>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM