Spring註解配置交易管理——問題,spring註解配置事務
在上下文中配置:
<!-- 配置註解驅動的Spring MVC控制器編程模型。 --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:annotation-driven transaction-manager="transactionManager" />
注意:
1.如果配置完成報錯——
java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()....
解決方案——
You're using Spring 3.2.5, and it's not compatible with the latest Hibernate 4.3.3 version that you're using. Hibernate 4.3 indeed decided to change the package of the
ConnectionProvider returned by
SessionFactoryImplementor.getConnectionProvider(). Use the latest Spring version, or use Hibernate 4.2, and it should run better.
(
有道翻譯一下:
你使用Spring 3.2.5,這不符合最新的Hibernate 4.3.3你使用的版本。Hibernate 4.3確實決定改變包的返回的ConnectionProvider SessionFactoryImplementor.getConnectionProvider()。使用最新的春季版本,或使用Hibernate 4.2,它應該更好的運行。
)
2.如果你的項目沒有配置Spring交易管理,一般處理與資料庫相關業務時報錯誤為——
org.hibernate.HibernateException: No Session found for current thread
3.報錯——
org.hibernate.HibernateException: No Session found for current thread
解決方案——
看看你是否在處理業務的類上加上了@Transactional註解