• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요 쓰기지연 -insert 장표의 설명에 관해 질문이 있습니다.

19.11.03 14:35 작성 조회수 182

0

트랜잭션을 지원하는 쓰기 지연 -insert

에서 jpa가 특정 옵션을 켜면 쓰기 지연 insert가 된다고 말씀해 주셨는데 이는 기본 동작이 아니었나요?

어떤 옵션으로 이를 컨트롤 할 수 있나요! 

+ 강의 정말 잘듣고 있습니다 감사합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요. curtiskim님^^

우선 식별자에 Identity 전략을 사용하면 데이터베이스에 Insert를 해야 PK 값을 알 수 있기 때문에, Identity 전략은 쓰기 지연 insert가 불가능합니다. 보통 MySql의 Auto increment 전략이 이 방식을 사용합니다.

오라클의 시퀀스나, 테이블 시퀀스를 사용하는 나머지 전략은 쓰기 지연 insert가 가능합니다.

옵션은

hibernate.jdbc.batch_size = 50 이런식으로 주시면 동일한 테이블의 경우 insert 쿼리가 한번에 실행됩니다.

(중간에 테이블이 달라지면 안됩니다.)

JPA 책 15.4.5 트랜잭션을 지원하는 쓰기 지연과 성능 최적화 부분을 참고하셔도 됩니다^^

감사합니다!