gpt4 book ai didi

mysql - JPA saveall方法是否使用hibernate批处理来更新/插入

转载 作者:行者123 更新时间:2023-11-29 09:46:44 27 4
gpt4 key购买 nike

我有 1000 个实体要在 MySQL 数据库中更新,所以如果我使用 myRepository.saveAll(List<Entity>)它内部是否使用 hibernate 批处理来更新表。我正在使用下面的 hibernate 属性进行批量更新/插入

spring.jpa.properties.hibernate.jdbc.batch_size=100
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true

我想知道 JPA 是否会执行 10 个查询来批量更新,或者与 JPA save(Entity) 一样工作方法并执行 1000 个查询来更新?有什么办法可以追踪吗?

最佳答案

saveAll() 只是一个在每个实体上调用 save() 的循环。不可能是其他任何东西,因为 JPA 没有任何方法可以同时保存多个实体。

这是否意味着不使用 hibernate 批处理?不,因为 Hibernate 批处理恰恰在于将插入查询分组为批处理,并执行批处理。

关于mysql - JPA saveall方法是否使用hibernate批处理来更新/插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55530936/

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