• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

벌크연산

23.04.02 17:44 작성 23.04.02 18:13 수정 조회수 287

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)

[질문 내용]

질문 1.


벌크 연산시

em.clear 을 해주는데 이때 원치 않는

영속성 컨텍스트의 값을 clear 하는 경우는 없나요 ?

 

그리고 벌크 연산시 flush,clear을 해주는 이유가

영속성 컨텍스트와 디비 정보를 일치하게 만들어 줄려고 하는건데

만약에 벌크연산 트랜잭션 안에 따로 벌크연산말고 다른 코드가 없으면 em.flush, em.clear 코드기 필요 없는데 습관처럼 안전하게 넣는다고 생각하면 되는건가요? 

 

 

 

==============================

질문 2.

querydsl 은 업데이트할떄 때로

findbyid 를 할 필요가 없는건가요 >?

 

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.04.02

안녕하세요, H K 님. 공식 서포터즈 y2gcoder 입니다.

질문 1.

=> 원치 않는 영속성 컨텍스트의 값을 clear하는 경우도 당연히 있을 수 있습니다. 이를 위해 가급적 로직에서 벌크 연산을 제일 먼저 해줄 수 있다면 좋고, 그렇지 않다면 주의해서 사용하셔야 합니다.

 

질문 2.

=> querydsl의 update는 벌크연산에 쓰이는 것이고 영속성 컨텍스트를 거치지 않고 하는 것이기 때문에 특정 id를 가진 엔티티만 업데이트해주고 싶으시다면 일반 SQL처럼 where문을 이용해주시기 바랍니다. 해당 질문을 잘 이해하지 못하고 드리는 말씀이기 때문에 잘못 답변드렸다면 말씀해주십시오 :)



감사합니다.