Hibernate之集合映射

    我們繼續說Hibenrnate中的最後一個映射關係——集合映射。集合映射開發過程中應用的比較少,我們只做一下


簡單的介紹,在java中有四種類型的集合,分別是set、list、array、map。

 

區別:

     

 

是否可重複

是否有序

Set

List

Map

Key不可重複

 

Array

 

    我們可以根據需求,選擇使用那種集合。在Hibenrnate中依舊是用不同的標籤來使用它們。Hibernate提供的映


射標籤:<set>、<list>、<map>、<array>。

 

對象模型:



關係模型:



映射文件:


<span style="font-size:18px;"><?xmlversion="1.0"?>
<!DOCTYPEhibernate-mapping PUBLIC
"-//Hibernate/HibernateMapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.wyj.hibernate">
<classname="CollectionMapping" table="t_collection_mapping" >
<idname="id">
<generatorclass="native"/>
</id>
<propertyname="name"/>
<setname="setValues" table="t_set_values">
    <key column="set_id"/>
    <!-- not-null:生成主鍵 -->
    <element type="string"column="set_value" not-null="true"/>
    <!-- 定義自定義類
    <composite-elementclass=""></composite-element>
    -->
</set>
<listname="listValues" table="t_list_values">
       <key column="list_id"/>
       <list-indexcolumn="list_index"/>
       <element type="string"column="list_value"/>
</list>
<arrayname="arrayValues" table="t_array_values">
    <key column="array_id"/>
    <list-indexcolumn="array_index"/>
    <element type="string"column="array_value"/>
</array>
<mapname="mapValues" table="t_map_values">
   <key column="map_id"/>
   <map-key type="string"column="map_key"/>
   <element type="string"column="map_values"/>
</map>
</class>
</hibernate-mapping></span>


注:


    在list標籤和array標籤中,內部對象是有序的,所以在添加映射標籤時需要使用list-index或者index標籤來標


明對象的順序,而且在添加子標籤時一定要按照順序添加,先添加<key>標籤,後添加<list-index>標籤,最後添加


<element>標籤

 

總結:


    Hibenrnate的幾種基本映射我們已經介紹完了,根據實際需求選擇合適的映射關係,可以提供效率。其中關係映


射是我們學習的重點,理解時跟我們學習過的關係數據庫多聯繫,有助於我們的理解。而其他映射關係,在我們以前


的學習中都可以找到共同點,比如說繼承和集合。

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