三. Hibernate的映射配置

1.映射的基本原理

ORM

類–表

屬性–字段

對象–記錄

2.映射的實現方式

(1). XML文件實現

(2). Java註釋實現

1.XML映射實現

(1).使用XML文件實現ORM映射

(2).文件命名:Model類名.hbm.xml

(3).位置:Model類相同的包下

(4).語法:

<hibernate-mapping package="cn.mirror6.erp.model">

   <class name="ErpModel" table="erp_order">

      <id name="no" column="no">
            <generator class="native"/>
      </id>

      <property name="cname" column="cname"/>    

       <set>
       </set>

       <many-to-one>
       <one-to-one>

   </class>

</hibernate-mapping>

(5).hibernate-mapping 根元素

屬性:package=”包名”

映射文件中其他類可以省略包名。

<hibernate-mapping package="cn.mirror6.erp.model">

</hibernate-mapping>

(6). class元素

指定映射的類和對應的表

<class 屬性="值" 。。。。>

</class>

主要屬性:

①. name=”類名” 指定類名

②. table=”表名”

③. mutable=”true|false”

④. lazy=”true|false”

⑤.dynamic-update=”true|false”

⑥.dynamic-insert=”true|false”

(7).id子元素

功能:映射與表主鍵字段對應的屬性。

語法:

<id name="no" column="no">
    <generator class="native"/>
</id>

主要屬性:

①. name=”主屬性名”

②. column=”PK字段名”

③. type=”類型”: 可以是Hibernate的類型名,也可以是Java類型名

(8).property元素

功能:映射非主鍵非外鍵的字段的映射

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

主要屬性:

1). name=”Model類的屬性名”

2). column=”字段名”

3). type=”類型”

4). lazy=”true|false”

2.Java Annotation(註釋)實現

在Model類和屬性變量上加入@註釋類

支持的註釋類:JPA內置的,Hibernate內置的。

1.類級別的註釋

(1).聲明持久類:@Entity

(2).指定表明: @Table(name=”表名”)

2.主鍵屬性映射

(1) @Id

(2) @Column(name=”字段名”)

3.普通屬性(非主鍵,非外鍵)

(1) @Basic (可省略)

(2) @Column(name=”字段名”)

推薦:放置在屬性變量前面。

3.主鍵生成器的功能

爲主鍵字段生成數值的,
通常用於代理主鍵字段。

4.主鍵生成器類型

1.使用數據庫機制生成主鍵值的類型

(1) identity:使用DB的自增量字段

(2) sequence:使用DB的序列生成主鍵值

(3) guid:使用數據庫內置的UUID機制

(4) native:使用數據庫內置的機制

2.使用Hibernate內置算法生成主鍵值的類型

(1)increment: select max(id)+1 from table

(2)hilo:Hibernate使用HILO算法生成。

(3)seqhilo:結合數據庫序列,再加上HILO

(4)UUID:Hibernate調用UUID算法生成。

3.通過編程設定主鍵值類型

根據老師課堂筆記整理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章