一尘不染

@Transactional Annotation +用于在循环中插入数据

hibernate

我使用的 春天3,JPA + Hibernate的
一个CMS应用。在该应用程序中,我有一个服务类方法,该方法用@Transactional具有rollBack属性的Annotation进行注释。在该方法内部,我正在使用循环将数据(即实体类)插入表中。对于每个iteration循环实体类,必须将其保存到数据库。但这没有发生。仅当循环执行完成并从方法退出时,才会执行提交。然后,它提交并立即保存所有内容。但是在这种情况下,在提交数据之前,我需要先读取数据。我尝试使用ISOLATION LEVEL读取未提交,但由于我使用的是默认值,因此不支持JPADialect。还试图添加 hibernate
实现jpaDialect但仍然没有用。请提供解决此问题的方法。还有一件事,有什么方法可以使用传播所需的方法。


阅读 441

收藏
2020-06-20

共1个答案

一尘不染

删除带有循环的方法上的事务注释。

在循环中调用一个单独的方法执行保存,使该方法具有事务性

2020-06-20