inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

벌크성 수정 쿼리

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

317

요니

작성한 질문수 41

1

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

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

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

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

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

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

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

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

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

java spring-boot JPA spring

답변 1

1

김영한

안녕하세요. khd1692님

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

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

감사합니다.

changeTeam 메서드 질문

0

20

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

78

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

111

3

MemberRepository 구현체

0

63

1

pdf 표현 질문드립니다.

0

65

1

로그가 남지 않는 문제.

0

90

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

73

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

73

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

96

2

Sort 인터페이스는 잘 사용 안하나요?

0

52

1

스캔대상 질문드립니다.

0

46

1

하이버네이트6에서의 최적화에 이은 질문

0

88

1

save() vs saveAndFlush DB 통신 횟수

0

55

1

순수 JPA 리포지토리 코드 수정부분

0

87

2

bulk연산 후 flush하는 이유를 모르겠어요

0

153

3

bulk insert 질문입니다.

0

186

2

교만했던 것 같아요.

0

147

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

151

2

동적 테이블에 대한 질문

0

87

1

영속성 전이와 연관관계

0

134

2

강의 10:25 질문

0

75

1

단건 update 질문

0

99

2

엔티티 와 도메인의 경계

0

129

1

UsernameOnlyDto 타입 type mismatch 오류

0

122

1