我正在使用spring-data-jpa的saveAll方法。
我知道当我更新一个实体时,hibernate需要重新附加分离的实体,这就是为什么在更新之前它会执行select语句。
但是,当我尝试更新大约10.000个实体时,这意味着还将执行10.000个select,这是一个性能问题。
有没有办法将分离的实体作为批量重新附加?
发布于 2021-09-16 20:52:02
Hibernate不会触发更新方法的select查询。正是合并触发了额外的select,以避免重复记录错误(NonUniqueObjectException)。因此,您可以使用update来持久化分离的实体。
@vlad-mihalcea的这篇blog解释了不同方法的行为
https://stackoverflow.com/questions/69214879
复制相似问题