Hibernate Spring数据JPA批插入

Hibernate Spring数据JPA批插入,hibernate,spring-boot,spring-data-jpa,Hibernate,Spring Boot,Spring Data Jpa,我有一个基本的SpringBoot应用程序,其中包含扩展JpaRepository的存储库和注入repo的服务。我试图通过查看以下内容来批量插入: 尝试打开事务时,出现一个错误不允许在共享EntityManager上创建事务-请改用Spring事务或EJB CMT 我提到我有@EnableTransactionManagement,所以我不能自己创建事务。我的选择是什么?这篇文章显示,您需要将大批量拆分为几个较小的事务。无论您是自己以编程方式打开并提交/回滚它们,还是让Spring为您这样做,都

我有一个基本的SpringBoot应用程序,其中包含扩展JpaRepository的存储库和注入repo的服务。我试图通过查看以下内容来批量插入: 尝试打开事务时,出现一个错误
不允许在共享EntityManager上创建事务-请改用Spring事务或EJB CMT

我提到我有
@EnableTransactionManagement
,所以我不能自己创建事务。我的选择是什么?

这篇文章显示,您需要将大批量拆分为几个较小的事务。无论您是自己以编程方式打开并提交/回滚它们,还是让Spring为您这样做,都不会改变这个想法


所以,让Spring为您打开并提交/回滚它们。让服务a在循环中调用服务B,其中对B的每次调用都在一个新的声明性事务中执行批处理的一部分。

既然Spring使用声明性事务管理为您打开事务,为什么要尝试打开事务?@JBNizet我正在尝试执行批处理插入。为此,我在下面这篇博文中写道:为此,我需要定期提交事务。这篇博文显示,您需要将大批量拆分为几个较小的事务。无论您是自己以编程方式打开并提交/回滚它们,还是让Spring为您这样做,都不会改变这个想法。让Spring为您打开并提交/回滚它们。让服务a在一个循环中调用服务B,其中对B的每次调用都在一个新事务中执行批处理的一部分。@JBNizet是的,这也是我在写了这个问题之后立即意识到的。非常感谢你,如果你认为这个问题仍然可以帮助别人,写下你的评论作为回答,我会接受它:)@jbnize再问一个问题。对不起。现在它将条目保存到数据库中,但它似乎不是成批执行的。我有hibernate.show_sql,我得到了多个insert-into-table-values语句,而不是仅仅一个insert-into-table和多个值。就像在我链接的那篇文章中一样,我希望这样:在帖子(标题,id)中插入值(?,“),参数:[(帖子26,26),(帖子27,27),(帖子28,28),(帖子29,29),(帖子30,30),(帖子31,31)]