opensessioninviewfilter不起作用,請大家看一下是否哪裡配置有問題?

netizen發表於2009-08-11
opensessioninviewfilter不起作用,頁面顯示的時候,還是出現lazy load的錯誤,請大家看一下是否哪裡配置有問題?
1,filter已經設定ok了. 從log中可以確認.
OpenSessionInViewFilter.doFilterInternal: Opening single Hibernate Session in OpenSessionInViewFilter
SessionFactoryUtils.doGetSession: Opening Hibernate Session
2,然後,我在從繼承的DAO中呼叫getHibernateTemplate()執行查詢時,查詢沒有問題,顯示的log如下:
org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession: Opening Hibernate Session
[ 08-11 23:06:02 ] org.springframework.orm.hibernate3.HibernateTemplate.flushIfNecessary: Eagerly flushing Hibernate session
[ 08-11 23:06:02 ] org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession: Closing Hibernate Session
應該是重新開啟了一個新的session.
3,最後,可看到filter的close session日誌.
[ 08-11 23:06:02 ] org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal: Closing single Hibernate Session in OpenSessionInViewFilter
[ 08-11 23:06:02 ] org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession: Closing Hibernate Session
4,然後,到頁面render時,就出現了lazy load的錯誤.
5,看了論壇以後,可能是事務的設定導致DAO中的getHibernateTemplate()的方法沒有獲取到filter最早頁面請求時的那個session. 請大家幫忙解決一下.

我的環境: Hiberate 3.0+Spring 2.0.4;

相關文章