4.Hibernate O/R 映射
O/R 映射
目前為止我們已經通過應用 Hibernate 見識過十分基礎的 O/R 映射了,但是還有三個更加重要的有關映射的話題需要我們更詳細的探討。這三個話題是集合的映射,實體類之間的關聯映射以及組件映射。
集合映射
如果一個實例或者類中有特定變量的值的集合,那么我們可以應用 Java 中的任何的可用的接口來映射這些值。Hibernate 可以保存?java.util.Map, java.util.Set, java.util.SortedMap, java.util.SortedSet, java.util.List?和其它持續的實例或者值的任何數組的實例。
| java.util.Set | 它和 \<set> 元素匹配并且用 java.util.HashSet 初始化。 |
| java.util.SortedSet | 它和 \<set> 元素匹配并且用 java.util.TreeSet 初始化。sort?屬性可以設置成比較器或者自然排序。 |
| java.util.List | 它和 \<list> 元素匹配并且用 java.util.ArrayList 初始化。 |
| java.util.Collection | 它和 \<bag> 或者 \<ibag> 元素匹配以及用 java.util.ArrayList 初始化。 |
| java.util.Map | 它和 \<map> 元素匹配并且用 java.util.HashMap 初始化。 |
| java.util.SortedMap") | 它和 \<map> 元素匹配并且用 java.util.TreeMap 初始化。sort?屬性可以設置成比較器或者 自然排序。 |
對于 Java 的原始數值 Hibernate 采用<primitive-array>支持數組,對于 Java 的其它數值 Hibernate 采用<array>支持數組。然而它們很少被應用,因此我也就不在本指導中討論它們。
如果你想要映射一個用戶定義的集合接口而這個接口不是 Hibernate 直接支持的話,那么你需要告訴 Hibernate 你定義的這個集合的語法,這個很難操作而且不推薦使用。
關聯映射
實體類之間的關聯映射以及表之間的關系是 ORM 的靈魂之處。對象間的關系的子集可以用下列四種方式解釋。關聯映射可以是單向的也可以是雙向的。
| Many-to-One | 使用 Hibernate 映射多對一關系 |
| One-to-One | 使用 Hibernate 映射一對一關系 |
| One-to-Many | 使用 Hibernate 映射一對多關系 |
| Many-to-Many | 使用 Hibernate 映射多對多關系 |
組件映射
作為變量的一員實體類很可能和其它類具有相關關系。如果引用的類沒有自己的生命周期并且完全依靠于擁有它的那個實體類的生命周期的話,那么這個引用類因此就可以叫做組件類。
組件集合的映射很可能和正常集合的映射相似,只會有很少的設置上的不同。我們可以在例子中看看這兩種映射。
| Component Mappings | 類的映射對于作為變量的一員的另外的類具有參考作用。 |
_________________________________________________________________________________________________________________
轉載于:https://www.cnblogs.com/ikei/p/7098144.html
總結
以上是生活随笔為你收集整理的4.Hibernate O/R 映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 05_传智播客iOS视频教程_类对象的使
- 下一篇: 百练-16年9月推免-B题-字符串判等