春季启动将不使用休眠default_batch_fetch_size

时间:2020-08-24 13:08:49

标签: spring hibernate default-batch-fetch-size

试图通过弹簧default_batch_fetch_size配置休眠application.yml。 AFAIK设置与将@BatchSize(size = xxx)批注放在所有实体关系上具有相同的效果。

我启用了spring.jpa.properties.hibernate.generate_statistics: true并进行了相应记录并尝试设置

spring:
  jpa:
    properties:
      hibernate:
        jdbc:
          batch_size: 100
          default_batch_fetch_size: 30

我也尝试过

spring:
  jpa:
    hibernate:
      ddl-auto: none
      default_batch_fetch_size: 30

但是该配置属性似乎根本不存在。

结果日志显示,休眠状态不会获取批处理的集合,而是N + 1(未指定FetchMode-因此使用了默认的@Fetch(FetchMode.SELECT)-我不想更改它)。

1 个答案:

答案 0 :(得分:1)

结果我混合了放置property-config的位置。正确的路径是这样的:

spring:
  jpa:
    properties:
      hibernate:
        default_batch_fetch_size: 30
        jdbc:
          batch_size: 100