天天看點

外連接配接抓取屬性

外連接配接抓取能限制執行SQL語句的次數來提高效率,這種外連接配接抓取通過在單個select語句中使用outer join來一次抓取多個資料表的資料。

外連接配接抓取允許在單個select語句中,通過<many-to-one.../>、<one-to-many.../>、<many-to-many.../>和<one-to-one.../>等關聯擷取連接配接對象的整個對象圖。

将hibernate.max_fetch_depth設為0,将在全局範圍内禁止外連接配接抓取,設為1或更高值能啟用N-1或1-1的外連接配接抓取。除此之外,還應該在映射檔案中通過fetch="join"來指定這種外連接配接抓取。

其他常用的配置屬性

除了上面介紹的必要配置屬性之外,Hibernate常用的配置屬性還有如下幾個。

Ø  hibernate.show_sql:是否在控制台輸出Hibernate生成的SQL語句。隻能為true和false兩個值。

Ø  hibernate. format_sql:是否将SQL語句轉成格式良好的SQL。隻接受true和false兩個值。

Ø  hibernate.use_sql_comments:是否在Hibernate生成的SQL語句中添加有助于調試的注釋。隻接受true和false兩個值。

Ø  hibernate.jdbc.fetch_size:指定JDBC抓取數量的大小,它可接受一個整數值,其實質是調用Statement.setFetchSize()方法。

Ø  hibernate.jdbc.batch_size:指定Hibernate使用JDBC2的批量更新的大小,它可接受一個整數值,建議取5到30之間的值。

Ø  hibernate.connection.autocommit:設定是否自動送出。通常不建議打開自動送出。 

Ø  hibernate.hbm2ddl.auto:設定當建立SessionFactory時,是否根據映射檔案自動建立資料庫表。如果使用create-drop值,顯示關閉SessionFactory時,将Drop剛建的資料表。該屬性可以為update、create和create-drop三個值。

當然,Hibernate配置檔案中的配置屬性還有很多,因為篇幅關系,此處不再一一列舉。如果讀者需要關于這些配置屬性的詳細介紹,請參考Hibernate的官方參考文檔。