jpa의 경우 벌크성 insert 지원이 안되나요???
907
投稿した質問数 44
回答 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
120
1
소스코드가 어디에 있나요?
0
96
2
트랜잭션 예외
0
90
1
질문이 있습니다.
0
128
2
ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문
0
124
2
여러 JOB 설정하는법
0
149
2
강의 자료 다른 방법 있을까요?
0
154
1
JobExecution과 JobExecutionContext와의 관계
0
186
2
특정 job만 실행
1
251
1
Batch 성능 질문
0
152
1
ItemReaderAdapter 종료
0
79
1
[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader
0
179
2
Spring Batch 배포 질문
0
245
2
spring batch 버전
0
235
2
retry count 관련 질문
0
171
2
StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.
0
330
2
jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)
0
234
2
Multithread step과 AsyncItemProcessor
0
202
2
job 재실행
0
250
2
bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)
0
183
1
Multi-threaded-step과 Partitioning 차이 확인
0
174
2
jdbcCursorReader, jdbcPagingReader 질문
0
145
1
step muti-thread 질문
0
109
1
itemSteam open update close 질문
0
110
1

