我在使用@Transactional(org.springframework.transaction.annotation)的服務方法從調用DAO層的地方從數據庫中獲取數據。@Transaction at Service層在春天不能在DAO層上工作
不過,我得到以下錯誤
org.hibernate.HibernateException: No Session found for current thread
上
sessionFactory.getCurrentSession()
我已經加入包掃描到不同的文件被其他posts.Still的建議無法得到錯誤。
請幫助。提前一百萬。
以下是我用過的文件。
的applicationContext.xml
<mvc:annotation-driven />
<context:annotation-config/>
<context:component-scan base-package="com.BASE_PCKG"></context:component-scan>
爲spring-servlet.xml
<mvc:annotation-driven />
<context:component-scan base-package="com.BASE_PCKG.SUB_PCKG.web"></context:component-scan>
的web.xml
...
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/applicationContext.xml</param-value>
</context-param>
....
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
而且我在的applicationContext文件中配置的事務管理器爲:
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" primary="true">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
你有你的類加載器彈簧啓動?你如何配置你的休眠? –
您是否在sessionFactory的配置文件中定義了transactionManager?在配置文件中還包含 –
Pulkit
如何配置hibernate的上下文?如何配置事務管理器? – AntJavaDev