具有循环和DB持久样式的@Transactional方法

时间:2017-04-10 17:56:55

标签: java spring transactions spring-data

所以今天我们讨论了一段代码。 我们在spring服务中有一个@transactional方法。我需要风格1。 在我的实现中,我需要类似的东西:

1。 @Transactional 对于(每):repository.persistObjectOneByOne(对象)

2。 @Transactional repository.persistList(列表)

样式1是非常错误还是hibernate / spring-data会在一个快速而好的连接中处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

如果您的服务方法使用Transactional注释(在我看来是正确的),那么两种样式在提交时都是相同的,整个业务单元将被包装在事务中,这意味着任何已完成的操作都不会被提交除非交易完成。

关于两种情况下的速度,Spring Data jpa将在不同的查询中保留每个对象。