Spring4.1.5+hibernate4.3.9 nested transactions not supported异常处理

今天有开发同事说,在多笔数据的情况下,系统抛出

ERROR org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: nested transactions not supported

异常。

看异常是因为Hibernate根本就不支持Nested Transaction,最新的Hibernate4也是如此。在配置文件中设置"nestedTransactionAllowed=true",其实只对JDBC事务起效(如使用Spring的JdbcTemplate)。 

解决方法是去掉

session.beginTransation();session.getTransaction().commit();

或者使用

Session session=sessionFactory.openSession();
Transaction transaction=session.beginTransaction();方法来开启session


猜你喜欢

转载自blog.csdn.net/weixin_42607771/article/details/80910344
今日推荐