many-to-one fetch屬性理解(借用網絡)

上次用來 Eclipselink 的 JPA  優化  Query 須要用到 EclipseLink 本身的  eclipselink.left-join-fetch   特 有的hint name 來 實現。   今天在用到 Hibernate 的 一個 many-to-one 的 的時候看到它默認的實現是採用 select fetch 的方式   也就是 在取 many  邊的表 後  還會用  select 方式去取  one 那邊的表。 從日誌中看到不少sql 語句,  聯想到應該也有相應的join fetch。  經過 查看 dtd ,  果真在 many-to-one 裏面有個 fetch  屬性,它有兩個值: select 和 join。  這個 select 應該是默認的實現。當改爲join 後看到 僅有的一個 sql 感受 or mapping 也仍是不錯的說。 

<many-to-one name="columnId" class="DataArchitectrueColumn"
column="COLUMN_ID"
 lazy="false" fetch="join"/>
若是 fetch="join" 的話,  這個lazy 配置成  true 也沒有啥做用了,  都一把 join 出來了。
sql

相關文章
相關標籤/搜索