无法打开JPA EntityManager进行交易;嵌套异常为java.lang.IllegalStateException:事务已激活

时间:2019-04-26 09:20:16

标签: java hibernate jpa transactions

在我的代码中,我尝试使用JPA存储库的save方法保存实体对象,但有时会出现异常:

  

“无法打开JPA EntityManager进行事务;嵌套异常为java.lang.IllegalStateException:事务已处于活动状态。”

我使用的注释-@transactional@Async。 谁能帮我吗?

1 个答案:

答案 0 :(得分:0)

Transaction already active之所以发生,是因为您已经通过相同beginTransaction()的{​​{1}}方法启动事务,并且尚未提交并开始了另一个JPAEntityManager事务。

您想通过同一EntityManager的不同事务save()来另一个对象。您可以通过这些选项解决问题

  • 首先提交JPAEntityManager
  • 后保存对象
  • 将此对象保存在相同的Trasaction下。
  • 使用新的Transaction的新Trasaction保存该对象。