我正在尝试使用 native 查询进行批量插入。
@Repository
public interface Repository extends CrudRepository<Entity, Integer> {
@Modifying
@Query(value = "INSERT INTO table_name(value) VALUES (:value)", nativeQuery = true)
void insert(@Param("value") String value);
}
我已将 batch_size 属性添加到 application.properties 文件spring.jpa.properties.hibernate.jdbc.batch_size = 50
但是在日志中,我看到每个插入都是单独处理的。是否可以将批处理应用于 native 查询?
最佳答案
如果实体使用 GenerationType.IDENTITY
标识符生成器, hibernate 将静默禁用批量插入/更新。
详情请参阅以下链接:
https://www.baeldung.com/jpa-hibernate-batch-insert-update#id-generation-strategy
关于sql - JPA batch_size 属性不适用于 native 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63604753/