• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

아래 질문 글 Yong.K 님의 질문의 답변에 관한 질문글 입니다 - flush관련

22.08.24 22:46 작성 조회수 189

1

아래 질문글 Yong.K 님의 글에 대한 답변으로 ,

JPQL이 실행되기 전 flush가 되지만

이때 flush는 em.flush() 처럼 영속성 컨텍스트를 완전히 flush 시키는 것이 아니라 ,

실행될 JPQL과 관련된 엔티티만 부분적으로 fluish 시키는 것이라고 설명해주셨습니다.

하지만 이렇게 부분적으로만 flush 시킨다면 ,

벌크연산 후 clearAutomatically에 의해 영속성 컨텍스트가 비워져 버리면 문제가 생길 수 있어,

벌크연산의 옵션으로 flushAutomatically가 있고 - 이 옵션을 활성화 시키면 em.flush()를 호출한 것 처럼 완전히 flush 되는것으로 이해하였습니다.

그렇다면 벌크연산 사용시 flushAutomatically 옵션을 비활성화 시키고 - clearAutomatically 옵션만을 활성화 시킨다면 여전히 문제가 발생할 여지는 남아있는 것이 맞는지 궁금합니다.

즉 그렇다면 결과적으로 clearAutomatically 옵션만 활성화 시키는게 아니라 , flushAutomatically 옵션도 함께 활성화시켜야 하는것은 아닌지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요. khd1692님

답변에서 설명드린 것 처럼 문제가 될 수 있을 것 같은데요.

해당 내용이 정말 문제가 되는지 코드로 직접 테스트 해보시고, 그 결과와 코드를 공유해주시면 좋겠습니다.

감사합니다.