0
我正在使用OpenSessionInViewFilter。它在我的web.xml中的第一過濾使用hibernate4.1和spring 3.1獲取LazyInitializationException
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
這裏是我的applicationContext.xml
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="userBc" class="com.tutorial.bc.auth.UserBcImpl">
<property name="userDao">
<ref local="userDao"/>
</property>
</bean>
...
<tx:annotation-driven transaction-manager="txManager"/>
我在HBM映射文件 -
<set name="userCoachingRoles" table="user_coaching_role" lazy="true" cascade="all-delete-orphan">
<key column="user_id"/>
<many-to-many column="coaching_id" class="com.tutorial.entity.coaching.Coaching" lazy="proxy"/>
</set>
在我userBc其中,該方法的一部分我得到的用戶標有@Transactional
,我的實體用戶有一個方法getUserCoachingRoles
。我得到異常達不到這個方法 -
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
我無法理解爲什麼沒有會話,即使我使用OpenSessionInViewFilter
。需要幫助。
由於內部的屬性。我確實在一個單獨的線程中調用該方法。 – Shwetanka