인프런 커뮤니티 질문&답변

love zoe님의 프로필 이미지
love zoe

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

벌크 연산

벌크 연산 질문

작성

·

220

·

수정됨

0

-- 단건 삭제
recruitRepository.delete(recruit);

-- 벌크 삭제
recruitSkillRepository.deleteRecruitSkills(recruitId);
recruitPositionRepository.deleteRecruitPositions(recruitId);
  • Q1. 단건 삭제 이후에 벌크 연산을 하면 delete가 실행이 안되는데 이유가 뭔가요?
    제가 생각해본 건 벌크 연산이 실행되면서 영속성 컨텍스트를 초기화하기 때문에 커밋 시점에 이전에 조회한 recruit이 사라졌기 때문이라고 생각하는데 맞을까요??


  • Q2. 벌크 연산을 먼저 수행하는 경우에는 단건 삭제도 정상적으로 처리됩니다. 단, 이때 select recruit 쿼리가 한 번 더 실행되는데 영속성 컨텍스트에 recruit 데이터가 없기 때문에 다시 조회를 해오는걸까요??


    그럼 이런 경우에는 영속성 컨텍스트를 초기화할 필요가 없을까요??

 

ps. 현재는 clearAutomatically 속성의 기본값이 false입니다!

@Modifying(clearAutomatically = true)

위처럼 속성을 true로 설정해야 영속성 컨텍스트가 초기화 되네요

 

프로젝트 하다가 간만에 막혀서 보러 왔는데 진짜 국밥강의네요..

답변 1

0

안녕하세요. 나는 쓰레기야!님, 공식 서포터즈 David입니다.

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx


주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요


추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

love zoe님의 프로필 이미지
love zoe

작성한 질문수

질문하기