Hibernate 集合接口簡介

 Hibernate 集合接口簡介

java領域模型中,集合屬性的慣用於始終相同

private <<Inteface>> attr = new <<Implementaction>>();//儘可能早得初始化對象,以避免未被初始化的集合

...

//getter and setter

<set>

語義:無序 不允許重複 不保存元素順序

映射接口: java.util.Set  或者 java.util.SortedSet

實現類:java.util.HashSet  或者 java.util.TreeSet

注意:Set對應HashSet;SortedSet對應TreeSet,其中sortedSet可以設置比較器,或者用於內存中的自然排序

<list>

語義:有序 可重複 用額外的索引保存位置

映射接口:java.util.Lits

實現類:java.util.ArrayList

<big> 

語義:無序 可重複 不保存元素順序

映射接口:java.util.Collection

實現類:可以用任何的實現Collection接口的類,一般用java.util.ArrayList(list雖然有索引但如果使用big則索引不會被保存)

<idbig> 

與big不同的是他提供一個額外的主鍵區分可重複的元素

<map>

 語義:保存鍵/值對,鍵不可重複 不保存元素順序

映射接口:java.util.Map 或者 java.util.SortedMap

實現類:java.util.HashMap 或者 java.util.TreeMap

注意:Map對應HashMap;SortedMap對應TreeMap,其中sortedMap可以設置比較器,或者用於內存中的自然順序

<primitive-array><array>

很少使用在領域模型中

關於JPA

jpa沒有列出所有的這些選項,可用的標準集合屬性是Set、List、Collection、Map

關於擴展

如果在以上集合中找不到您所需要的集合接口或者實現,可擴展PersistentCollection;通常擴展現有的PersistentSet、PersistentBag、PersistentList類中的一個

 

 

 

 

 

 

 

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