Hibernate配置文件

1.引入Hibernate的支持包。
2.
寫好
hibernate.cfg.xml
   
裏面涉及到的內容有:

JDBC
連接參數

connection.driver_class

connection.username

connection.password

connection.url

dialect

show_sql

Hibernate C3P0
連接池參數

hibernate.connection.provider_class

hibernate.c3p0.max_size

hibernate.c3p0.min_size

hibernate.c3p0.timeout

hibernate.c3p0.max_statements

hibernate.c3p0.idle_test_period
註冊ORM映射文件

<mapping resource=“
包名/類名.hbm.xml”>可以有多個。

3.
ORM配置文件(文件名爲類名.hbm.xml

  
對應屬性的配置(基本的都是namecolumntype

   id
的配置(namecolumntypegenerator

  
一對一映射配置心得

  
共享主鍵配置:從表id生成方式爲forergn並且這個節點要包含param節點  配置one-to-one節點 例子

<id name="id" column="ID" type="integer">
<generator class="foreign">
<param name="property"> company</param>
</generator>
</id>
<one-to-one name="company" class="com.ORM.Company" constrained="true"/>
主表one-to-one節點 例子

<one-to-one name="login" class="com.ORM.Login" cascade="all" lazy="false"/>
唯一外鍵方式配置:主表配置one-to-one節點

                <one-to-one name="client" class="com.ORM.Client" property-ref="address">
從表配置many-to-one節點

<many-to-one name="address" class="com.ORM.Address" column="ADDRESS" lazy="false" cascade="all" unique="true"/>
多對一映射配置

多對一單向映射:只在的一方配置 類裏面有的一方的對象<many-to-one>節點

            <many-to-one name="customer" column="CUSTOMER_ID" class="com.ORM.Customer" lazy="false" not-null="true"/>
一對多雙向映射:雙方都要配置。的一方配置同多對一單向映射配置完全相同

的一方 類裏面要有的一方的對象的集合配置set節點

<set name="orders" cascade="all" inverse="true" lazy="false">
<key column="CUSTOMER_ID"/>
<one-to-many class="com.ORM.Order"/>
</set>
一對多雙向自身關聯關係:配置同一對多雙向關聯,不同的是,主表跟從表都是一個表。配置在一個文件裏面就行。

多對多單向關聯:涉及到多對多的都會有連接表,連接表裏面存放的是兩個表裏面關聯的字段

<set name="items" table="selecteditems" lazy="true" cascade="save-update">
<key column="ORDERID"/>
<many-to-many class="com.ORM.Items" column="ITEMID"/>
</set>
多對多雙向關聯:在雙方都配置,方式同多對多單向映射配置,只是在一方配置上inverse就行。


映射組成關係:講一個大類分成兩個類。配置的時候配置一個組件就行。//客戶(client)裏面包含地址(address),地址分出來作爲一個類。

<component name="address" class=”com.ORM.Address">
<parent name="client"/>
<peoperty name="province" column="PROVINCE" type="string">
......
</component>
映射繼承關係:父類寫好,子類繼承父類,並擴展自己的屬性。映射配置文件只需要寫子類的配置就行。

集合映射:商品有視頻廣告(VIDEO)、使用技巧(TIPS)、圖片(PICTURE)字段,每個字段都有對應的一個表。

商品類裏面的videos屬性爲set集合,tipslist集合,picturesmap集合。

配置如下

<set name="videos" table="videos" lazy="false">
<key column="ITEMS_ID"/>
<element column="VIDEO" type="string" not-null="true"/>
</set>
<list name="tips" table="tips" lazy="false">
<key column="ITEMS_ID"/>
<index column="POSITION"/>
<element column="TIP" type="string"/>
</list>
<map name="pictures" table="pictures" lazy="false">
<key column="ITEMS_ID">
<index column="KEYNAME" type="string"/>
<element column="PICTURE" type="string"/>
</map>

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