set節點有以下屬性(摘自Hibernate文檔)
(
) name 集合屬性的名稱
(
) table (可選??默認為屬性的名稱)這個集合表的名稱(不能在一對多的關聯關系中使用)
(
) schema (可選) 表的schema的名稱
他將覆蓋在根元素中定義的schema
(
) lazy (可選??默認為false) lazy(可選
默認為false) 允許延遲加載(lazy initialization )(不能在數組中使用)
(
) inverse (可選??默認為false) 標記這個集合作為雙向關聯關系中的方向一端
(
) cascade (可選??默認為none) 讓操作級聯到子實體
(
) sort(可選)指定集合的排序順序
其可以為自然的(natural)或者給定一個用來比較的類
(
) order
by (可選
僅用於jdk
) 指定表的字段(一個或幾個)再加上asc或者desc(可選)
定義Map
Set和Bag的迭代順序
(
) where (可選) 指定任意的SQL where條件
該條件將在重新載入或者刪除這個集合時使用(當集合中的數據僅僅是所有可用數據的一個子集時這個條件非常有用)
(
) outer
join(可選)指定這個集合
只要可能
應該通過外連接(outer join)取得
在每一個SQL語句中
只能有一個集合可以被通過外連接抓取(譯者注: 這裡提到的SQL語句是取得集合所屬類的數據的Select語句)
(
) batch
size (可選
默認為
) 指定通過延遲加載取得集合實例的批處理塊大小(
batch size
)
(
) access(可選
默認為屬性property):Hibernate取得屬性值時使用的策略
manytoone節點有以下屬性(摘自Hibernate文檔)
(
) name: 屬性名
(
) column (可選): 字段名
(
) class (可選
默認是通過反射得到屬性類型): 關聯的類的名字
(
) cascade(級聯) (可選): 指明哪些操作會從父對象級聯到關聯的對象
(
) outer
join(外連接) (可選
默認為 自動): 當設置hibernate
use_outer_join的時候
對這個關聯允許外連接抓取
(
) update
insert (可選
defaults to true) 指定對應的字段是否在用於UPDATE 和/或 INSERT的SQL語句中包含
如果二者都是false
則這是一個純粹的
外源性(derived)
關聯
它的值是通過映射到同一個(或多個)字段的某些其他屬性得到的
或者通過trigger(除法器)
或者是其他程序
(
) property
ref: (可選) 指定關聯類的一個屬性
這個屬性將會和本外鍵相對應
如果沒有指定
會使用對方關聯類的主鍵
(
) access (可選
默認是 property): Hibernate用來訪問屬性的策略
cascade 屬性允許下列值
all
save
update
delete
none
設置除了none以外的其它值會傳播特定的操作到關聯的(子)對象中
參見後面的
Lifecycle Objects(自動管理生命周期的對象)
outer
join參數允許下列三個不同值
auto (默認) 使用外連接抓取關聯(對象)
如果被關聯的對象沒有代理(proxy)
true 一直使用外連接來抓取關聯
false 永遠不使用外連接來抓取關聯
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28635.html