Tôi đã sử dụng quản lý giao dịch có lập trình vào mùa xuân, bây giờ tôi đã chuyển sang quản lý giao dịch khai báo.mùa xuân Quản lý giao dịch không hoạt động
SessionFactory
<beans:bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="packagesToScan" value="com.hcentive.cig.domain" />
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.hbm2ddl.auto">update</beans:prop>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
<beans:prop key="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</beans:prop>
</beans:props>
</beans:property>
</beans:bean>
TransactionManager
<beans:bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory">
<beans:ref bean="sessionFactory" />
</beans:property>
</beans:bean>
Bây giờ Nếu chạy mã của tôi
@Override
@Transactional
public Request saveRequest(Request request) {
sessionFactory.getCurrentSession().save(request);
return request;
}
tôi nhận được ngoại lệ tiết kiệm là không hợp lệ mà không có một giao dịch tích cực
nếu tôi loại bỏ dưới dòng
<beans:prop key="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</beans:prop>
tôi nhận được
Không CurrentSessionContext cấu hình!
Bạn có ' ' –
có một cái nhìn vào những câu trả lời: http://stackoverflow.com/a/4396530/280244 – Ralph
[Xem ở đây] (http: // stackoverflow.com/a/25910635/3364187) – Xstian