1. 程式人生 > >hibernate級聯操作詳解

hibernate級聯操作詳解

二,屬性的解析
class元素的lazy屬性設定為true,表示延遲載入,如果lazy設為false,則
表示立即載入。以下對這二點進行說明。
     立即載入:表示Hibernate在從資料庫中取得資料組裝好一個物件(如學生1)後,
            會立即再從資料庫取得資料組裝此物件所關聯的物件(如學生證1)。
     延遲載入:表示Hibernate在從資料庫中取得資料組裝好一個物件(如學生1)後,
            不會立即再從資料庫中取得資料組裝此物件所關聯的物件(如學生1),
            而是等到需要時,才會從資料庫取得資料組裝此關聯物件。
<one-to-one>元素的cascade屬性表明操作是否從父物件級聯到被關聯的物件,     它
的取得可以是以下幾種:
     none:在儲存,刪除或修改當前物件時,不對其附屬物件(關聯物件)進行級聯
          操作。它是預設值。
     save-update:在儲存,更新當前物件時,級聯儲存,更新附屬物件(臨時物件,
          遊離物件)。
     delete:在刪除當前物件時,級聯刪除附屬物件。
     all:所有情況下均進行級聯操作,即包含save-update和delete操作。
     delete-orphan:刪除和當前物件解除關係的附屬物件。
<one-to-one>元素的fetch屬性的可選值是join和select,預設是select。
當fetch屬性設定為join時,表示連線抓取(Join fetching):Hibernate通過
在Select語句中使用outer join(外連線)來獲得物件的關聯例項或者關聯集合。
當fetch屬性設定為select時,表示查詢抓取(Select fetching):需要另外發
送一條Select語句抓取當前物件的關聯實體或集合。