Пакетная обработка в спящем режиме не работает, даже если batch_size уже установлен - PullRequest
1 голос
/ 20 октября 2019

Я хочу обработать объемные данные около 1 миллиона данных с помощью пакетной обработки. Ниже моя конфигурация

  datasource:
    jdbc-url: jdbc:postgresql://68.183.186.212:5432/seribu_trx_db?reWriteBatchedInserts=true
    hikari:
      maximum-pool-size: 2
      connection-test-query: SELECT 1
    driver-class-name: org.postgresql.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    database-platform: id.usermanagement.user.dialect.CustomPostgreSqlDialect
    properties:
      hibernate:
        jdbc:
          batch_size: 20000
        generate_statistics: true
        order_inserts: true 

сервисный код:

List<TUserInfo> listUserInfo = this.getListUserInfo();
userRepository.saveAll(listUserInfo);

log:

Hibernate: insert into t_user_info (created_by, created_date, gender , id) values (?, ?, ?, ?)
Hibernate: insert into t_user_info (created_by, created_date, gender , id) values (?, ?, ?, ?)
Hibernate: insert into t_user_info (created_by, created_date, gender , id) values (?, ?, ?, ?)
Hibernate: insert into t_user_info (created_by, created_date, gender , id) values (?, ?, ?, ?)
Hibernate: insert into t_user_info (created_by, created_date, gender , id) values (?, ?, ?, ?)

сущность:

@Data
@Entity
@Table(name = "t_user_info")
public class TUserInfo implements Persistable<UUID> {
 @Id
 @Column
 private UUID id;
 @Column
 private String gender;
 @Column
 private String created_by;
 @Column
 private String created_date;

    @Override
    public UUID getId() {
        return id;
    }

    @Override
    public boolean isNew() {
        return true;
    }
}

, но напечатный журнал, кажется, что процесс даже не пакетный процесс. Кто-нибудь может мне помочь? или любой другой подход о том, как обрабатывать объемные данные?

...