hibernate 映射
我們已經(jīng)通過應(yīng)用 hibernate 熟悉了基礎(chǔ) o/r 映射,但是還有三個(gè)更加重要的有關(guān)映射的話題需要我們更詳細(xì)的探討。
這三個(gè)話題是集合的映射、實(shí)體類之間的關(guān)聯(lián)映射以及組件映射。
集合映射
如果一個(gè)實(shí)例或者類中有特定變量的值的集合,那么我們可以應(yīng)用 java 中的任何的可用的接口來映射這些值。hibernate 可以保存 java.util.map
, java.util.set
, java.util.sortedmap
, java.util.sortedset
, java.util.list
和其它持續(xù)的實(shí)例或者值的任何數(shù)組的實(shí)例。
集合類型 | 映射和描述 |
---|---|
java.util.set | 它和 \<set> 元素匹配并且用 java.util.hashset 初始化。 |
java.util.sortedset | 它和 \<set> 元素匹配并且用 java.util.treeset 初始化。sort 屬性可以設(shè)置成比較器或者自然排序。 |
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 屬性可以設(shè)置成比較器或者 自然排序。 |
對(duì)于 java 的原始數(shù)值 hibernate 采用<primitive-array>
支持?jǐn)?shù)組,對(duì)于 java 的其它數(shù)值 hibernate 采用支持?jǐn)?shù)組。然而它們很少被應(yīng)用,因此我也就不在本指導(dǎo)中討論它們。
如果你想要映射一個(gè)用戶定義的集合接口而這個(gè)接口不是 hibernate 直接支持的話,那么你需要告訴 hibernate 你定義的這個(gè)集合的語(yǔ)法,這個(gè)很難操作而且不推薦使用。
關(guān)聯(lián)映射
實(shí)體類之間的關(guān)聯(lián)映射以及表之間的關(guān)系是 orm 的靈魂之處。對(duì)象間的關(guān)系的子集可以用下列四種方式解釋。關(guān)聯(lián)映射可以是單向的也可以是雙向的。
映射類型 | 描述 |
---|---|
many-to-one | 使用 hibernate 映射多對(duì)一關(guān)系 |
one-to-one | 使用 hibernate 映射一對(duì)一關(guān)系 |
one-to-many | 使用 hibernate 映射一對(duì)多關(guān)系 |
many-to-many | 使用 hibernate 映射多對(duì)多關(guān)系 |
組件映射
作為變量的一員實(shí)體類很可能和其它類具有相關(guān)關(guān)系。如果引用的類沒有自己的生命周期并且完全依靠于擁有它的那個(gè)實(shí)體類的生命周期的話,那么這個(gè)引用類因此就可以叫做組件類。
組件集合的映射很可能和正常集合的映射相似,只會(huì)有很少的設(shè)置上的不同。我們可以在例子中看看這兩種映射。
映射類型 | 描述 |
---|---|
component mappings | 類的映射對(duì)于作為變量的一員的另外的類具有參考作用。 |
- JDBC 教程
- JDBC 驅(qū)動(dòng)類型
- JDBC 連接數(shù)據(jù)庫(kù)范例
- JDBC 連接數(shù)據(jù)庫(kù)步驟
- JDBC Statement, PreparedStatement 和 CallableStatement
- JDBC ResultSet 結(jié)果集
- JDBC Resultset 結(jié)果集范例
- JDBC 事務(wù)保存點(diǎn)范例
- Scala 教程
- Scala 簡(jiǎn)介
- Scala 類和對(duì)象
- Scala 文件 I/O
- Spring 教程
- Spring 模塊
- Spring 依賴注入
- Spring 自動(dòng)裝配
- Spring MVC教程
- Spring MVC表單標(biāo)簽庫(kù)
- Spring security