주의점
Hibernate 에서는 여러개의 데이터를 한번에 Insert, Update 하게 해주는 기능인 Batch 기능을 지원하고 있다.
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
generate_statistics: true
dialect: org.hibernate.dialect.H2Dialect
show_sql: true
format_sql: true
order_inserts: true
order_updates: true
jdbc:
batch_size: 1000
Spring Data JPA의 saveAll 함수를 사용하면 여러개의 Insert 또는 Update 할 수 있다.
하지만, @GeneratedValue 키 값 생성 전략을 Identity나 Auto로 정하는 경우 Hibernate에서 Batch Insert 기능을 비활성화 시켜놓고 Insert 작업을 수행하게 된다.
따라서 saveAll 같은 함수를 사용해도 데이터 개수만큼 Insert 또는 Update 쿼리가 나간다.
반응형
'개발 > JPA' 카테고리의 다른 글
JPA-OSIV(Open Session In View) (0) | 2023.10.14 |
---|---|
[JPA] could not initialize proxy - no Session (0) | 2023.09.10 |
[JPA] Auditing - 공통 도메인 작업 (0) | 2023.09.10 |
[JPA] @MappedSuperclass (0) | 2023.09.10 |
[Spring] NativeQuery (0) | 2023.09.10 |