首先在配置jpa的entitymanager配置檔案中加入如下配置:
class="org.springframework.orm.jpa.support.openentitymanagerinviewinterceptor">
原來的多數配置都是這樣的:
好了,加入了以上配置後,再訪問同樣的介面,發現問題解決了。如果你在使用jpa的時候開啟了show_sql選項,你會看到執行了兩條jpql語句。
jpa解決延遲載入如果使用了延遲載入,需要保證在load延遲載入的屬性物件時entitymanager沒有被關閉。
可以在web.xml中新增乙個過濾器:
spring openentitymanagerinviewfilter
org.springframework.orm.jpa.support.openentitymanagerinviewfilter
entitymanage***ctorybeanname
entitymanage***ctory
/*如果是用的hibernate,而不是jpa,那麼就是:
osivfilter
org.springframework.orm.hibernate3.support.opensessioninviewfilter
JPA之立即載入與延遲載入
test public void test 根據id查詢客戶 find 立即載入 1 查詢的物件就是當前客戶物件本身 2 在呼叫find方法的時候,就會傳送sql語句查詢資料庫。getrefrence 延遲載入 懶載入 1 獲取的物件是乙個動態 物件 2 在呼叫getrefrence方法的時候,不會...
jpa中延遲載入和關係維護問題
jpa中可以通過註解中的fetch fetchtype.lazy來實現懶載入的目的。例 1的一方的乙個屬性 public setgetitems return items 這裡會實現items的懶載入,我們只有在呼叫了這個屬性時才會載入。使用的前提是entitymanager不能處於關閉狀態,否則會...
JPA中延遲載入異常的解決辦法
在使用jpa時,當表與表之間有關聯關係的時候,我們在設計表的關聯關係,使用註解設定的時候,如果在註解上新增了乙個 fetch fetchtype.lazy 屬性,就是設定為乙個懶載入的模式,即什麼時候需要使用這個資料,什麼時候在在去查詢,這個有時候就會出現問題 下面以employee員工和dept部...