gpt4 book ai didi

java - CrudRepository 和 hibernate : save(List) vs save(Entity) in transaction

转载 作者:IT老高 更新时间:2023-10-28 13:50:11 27 4
gpt4 key购买 nike

如果我这样做会有什么不同吗:

@Transactional
public void processData() {
List<MyEntity> entities = ....;
MyEntityRepository.save(entities);
}

对比

@Transactional
public void processData() {
List<MyEntity> entities = ....;
for (MyEntity entity : entities) {
MyEntityRepository.save(entity);
}
}

在底层查询和性能方面有什么区别?

最佳答案

来自 SimpleJpaRepository :

@Transactional
public <S extends T> List<S> More save(Iterable<S> entities) {

List<S> result = new ArrayList<S>();

if (entities == null) {
return result;
}

for (S entity : entities) {
result.add(save(entity));
}

return result;
}

所以,您的第二种业务方法只会影响 save(Iterable<S> entities) Crud Repository 方法,它迭代列表并调用 save(S)代表您。

只要交易与您的processData 划定业务方法,性能或执行的查询没有真正的差异。

关于java - CrudRepository 和 hibernate : save(List<S>) vs save(Entity) in transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com