JPA에서 batch를 사용하면 대량의 데이터를 효율적으로 추가할 수 있습니다.
예제 batch 코드를 보게 되면
데이터베이스에 저장할 batch 사이즈 변수 cnt를 선언합니다.(81라인)
여기서 설정한 값 5는 앞에서 생성한 employee 테이블의 기본키 sequence의 increment와 일치하기 위해서 5로 설정했습니다.
직원 DTO 리스트를 파라미터로 받아서 루프를 실행합니다.(83~104라인)
직원 DTO의 속성값들을 하나씩 읽어서 Employee 엔티티 객체에 저장합니다.(84~93라인)
Employee 엔티티 객체를 영속성 컨텍스트에 저장하고 cnt를 1씩 증가합니다.(95라인)
5건마다 영속성 컨텍스트에 있는 데이터를 데이터베이스에 저장하고 초기화합니다.(98~101라인)
코드를 실행하면 정상적으로 실행되었음을 확인할 수 있습니다.
'dev > JPA' 카테고리의 다른 글
JPA QueryDSL Paging (0) | 2023.08.31 |
---|---|
JPA QueryDSL 집계 쿼리 (0) | 2023.08.31 |
JPA ID SEQUENCE (0) | 2023.08.30 |
JPA Infinite Recursion 예외 처리 (0) | 2023.08.29 |
Spring Boot JPA QueryDSL (0) | 2023.08.29 |