java - Hibernate JPA 和 Spring javax.persistence.TransactionRequiredException : no transaction is in progress

标签 java spring jpa

当我打电话时:

entityManager.flush()

我得到了标题中提到的异常。

我正在使用 Hibernate JPA。

最佳答案

在自己遇到这个问题并花了几个小时试图解决它之后,我终于找到了一个原因:Spring 有一个错误,如果相同,则无法使用 @Transactional 注释维护事务类具有 Autowiring 方式的 @Service 注释。

一旦从相关服务类中删除了 @Service 注释,并在 XML 配置中声明了适当的 bean:

<bean id="myService" class="com.example.myapp.service.MyServiceImpl" />

问题消失了。

查看 JIRA bug了解更多详情。

关于java - Hibernate JPA 和 Spring javax.persistence.TransactionRequiredException : no transaction is in progress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801828/

相关文章:

java - 无法在单个单元测试中使用 maven 的 spring-boot-starter-test 方法 - Spring Boot

java - 将现有的 Jersey Postgres 应用程序迁移到 Spring Boot

java - 如何在测试中模拟慢SQL数据库?

java - JPA 存储库 : inner join with null value

java - Hibernate:在多对一关系中保存空实体

java - 查找字典中最长单词的代码的时间复杂度

java - 返回类型的计数或最大值计数可以返回mysql

java - JPA删除双向实体

java - CommonsMultipart文件大小为 0

java - 将服务添加到具有困难包结构的 Android list (LibGDX)/在 Android list 中引用包