淺談Hibernate outer-join參數(shù)
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate outer-join參數(shù),包括介紹many-to-one節(jié)點(diǎn)有以下屬性等方面。
set節(jié)點(diǎn)有以下屬性(摘自Hibernate文檔):
(1) name 集合屬性的名稱
(2) table(可選??默認(rèn)為屬性的名稱)這個(gè)集合表的名稱(不能在一對(duì)多的關(guān)聯(lián)關(guān)系中使用)
(3) schema (可選) 表的schema的名稱, 他將覆蓋在根元素中定義的schema
(4) lazy (可選??默認(rèn)為false) lazy(可選--默認(rèn)為false) 允許延遲加載(lazy initialization )(不能在數(shù)組中使用)
(5) inverse (可選??默認(rèn)為false) 標(biāo)記這個(gè)集合作為雙向關(guān)聯(lián)關(guān)系中的方向一端。
(6) cascade (可選??默認(rèn)為none) 讓操作級(jí)聯(lián)到子實(shí)體
(7) sort(可選)指定集合的排序順序, 其可以為自然的(natural)或者給定一個(gè)用來(lái)比較的類。
(8) order-by (可選, 僅用于jdk1.4) 指定表的字段(一個(gè)或幾個(gè))再加上asc或者desc(可選), 定義Map,Set和Bag的迭代順序
(9) where (可選) 指定任意的SQL where條件, 該條件將在重新載入或者刪除這個(gè)集合時(shí)使用(當(dāng)集合中的數(shù)據(jù)僅僅是所有可用數(shù)據(jù)的一個(gè)子集時(shí)這個(gè)條件非常有用)
(10) Hibernate outer-join參數(shù)(可選)指定這個(gè)集合,只要可能,應(yīng)該通過(guò)外連接(outer join)取得。在每一個(gè)SQL語(yǔ)句中, 只能有一個(gè)集合可以被通過(guò)外連接抓取。
(11) batch-size (可選, 默認(rèn)為1) 指定通過(guò)延遲加載取得集合實(shí)例的批處理塊大小("batch size")。
(12) access(可選-默認(rèn)為屬性property):Hibernate取得屬性值時(shí)使用的策略。
many-to-one節(jié)點(diǎn)有以下屬性(摘自Hibernate文檔):
(1) name: 屬性名。
(2) column (可選): 字段名。
(3) class (可選 - 默認(rèn)是通過(guò)反射得到屬性類型): 關(guān)聯(lián)的類的名字。
(4) cascade(級(jí)聯(lián)) (可選): 指明哪些操作會(huì)從父對(duì)象級(jí)聯(lián)到關(guān)聯(lián)的對(duì)象。
(5) Hibernate outer-join參數(shù)(外連接) (可選 - 默認(rèn)為 自動(dòng)): 當(dāng)設(shè)置hibernate.use_outer_join的時(shí)候,對(duì)這個(gè)關(guān)聯(lián)允許外連接抓取。
(6) update, insert (可選 - defaults to true) 指定對(duì)應(yīng)的字段是否在用于UPDATE 和/或 INSERT的SQL語(yǔ)句中包含。如果二者都是 false,則這是一個(gè)純粹的“外源性(derived)”關(guān)聯(lián),它的值是通過(guò)映射到同一個(gè)(或多個(gè))字段的某些其他屬性得到的,或者通過(guò) trigger(除法器),或者是其他程序。
(7) property-ref: (可選) 指定關(guān)聯(lián)類的一個(gè)屬性,這個(gè)屬性將會(huì)和本外鍵相對(duì)應(yīng)。如果沒(méi)有指定,會(huì)使用對(duì)方關(guān)聯(lián)類的主鍵。
(8) access(可選 - 默認(rèn)是 property): Hibernate用來(lái)訪問(wèn)屬性的策略。
cascade屬性允許下列值: all, save-update, delete, none。設(shè)置除了none以外的其它值會(huì)傳播特定的操作到關(guān)聯(lián)的(子)對(duì)象中。參見(jiàn)后面的“Lifecycle Objects(自動(dòng)管理生命周期的對(duì)象)”。
Hibernate outer-join參數(shù)允許下列三個(gè)不同值:
◆auto:(默認(rèn)) 使用外連接抓取關(guān)聯(lián)(對(duì)象),如果被關(guān)聯(lián)的對(duì)象沒(méi)有代理(proxy)
◆true:一直使用外連接來(lái)抓取關(guān)聯(lián)
◆false:永遠(yuǎn)不使用外連接來(lái)抓取關(guān)聯(lián)
【編輯推薦】