inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 배치

DB - JpaItemWriter

jpa의 경우 벌크성 insert 지원이 안되나요???

910

rere

작성한 질문수 44

0

jpa의 경우 bulk insert 가 지원되지 않는지 궁금합니다.

spring-boot spring-batch

답변 2

2

정수원

해당 부분은 스프링 배치 영역에서 조금 벗어난 부분이라 자세하게 답변드리기는 곤란한 점 양해해 주시기 바랍니다.

일괄처리는 다음과 같을 것입니다

INSERT INTO person (name) VALUES

('name1'),

('name2'),

('name3');

기본적으로 JPA 에서는 Auto Increment 일 경우엔 위 설정 방식을 지원하지 않습니다.

Auto Increment가 아닐 경우엔  spring.jpa.properties.hibernate.jdbc.batch_size=10 과 같이 해서 일괄처리가 되긴 합니다.

그리고  DB 종류에 따라 설정을 다르게 해야 할 수도 있습니다.

그래서  MYSQL 에서는 시퀀스 전략을 auto_increment  가 아닌 Table 로 해야 합니다.

그리고 MYSQL 같은 경우에 jdbc:mysql:://DB주소:포트/스키마?rewriteBatchedStatements=true 와 같이 rewriteBatchedStatements 의 옵션도 주어야 합니다.

그리고 사실  이 기술은 jpa 기술이 아닌 jdbc batch 기술인데 jpa 가 내부적으로 활용하고 있을 뿐입니다.

관련해서는 여러 자료가 있으니 참고해 주시기 바랍니다.

 

0

rere

db는 인메모리 h2를 사용중인데 h2 로그를 보니 Multiple rows insert가 되지 않습니다. 혹시 방법이 있다면 알려주시면 감사하겠습니다.!!!!

스프링 배치 버전 질문

0

136

1

소스코드가 어디에 있나요?

0

115

2

트랜잭션 예외

0

98

1

질문이 있습니다.

0

136

2

ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문

0

141

2

여러 JOB 설정하는법

0

156

2

강의 자료 다른 방법 있을까요?

0

162

1

JobExecution과 JobExecutionContext와의 관계

0

197

2

특정 job만 실행

1

265

1

Batch 성능 질문

0

157

1

ItemReaderAdapter 종료

0

86

1

[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader

0

187

2

Spring Batch 배포 질문

0

250

2

spring batch 버전

0

238

2

retry count 관련 질문

0

181

2

StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.

0

340

2

jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)

0

240

2

Multithread step과 AsyncItemProcessor

0

208

2

job 재실행

0

258

2

bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)

0

190

1

Multi-threaded-step과 Partitioning 차이 확인

0

183

2

jdbcCursorReader, jdbcPagingReader 질문

0

149

1

step muti-thread 질문

0

114

1

itemSteam open update close 질문

0

117

1