sql - JPA batch_size 属性不适用于 native 查询

标签 sql spring-boot hibernate jpa bulk

我正在尝试使用 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/

相关文章:

spring-boot - Spring Boot 如何在应用服务器上工作

java - 如何使用 Swagger 生成的客户端 (Feign)

spring-boot - 如何在Spring Boot应用程序中动态更改logback日志级别

PHP fatal error : Uncaught exception 'PDOException' with message 'SQLSTATE[42000]

java - 如何获取 JTable 的长度

将 3 个表与类似输出的字符串组合在一起的 SQL 查询

java - 如何使用 liquibase 在列数据库上将默认值设置为 0?

SQL Server - 选择日期为上个月的所有项目

mysql - jpaRepository 出现死锁

java - hibernate : dynamic-update dynamic-insert - Performance Effects