Everyday Dev System

Repository 에 기능 추가하기 본문

내배캠 주요 학습/JPA 심화

Repository 에 기능 추가하기

chaeyoung- 2023. 7. 31. 19:04

 

 

Repository 에 기능 추가하기

 

delete()  메소드의 내부 기능 확인하기


delete 호출 시 영속성 상태인지 확인한다.
영속성 컨텍스트에 없다면(!em.contains(entity)) 엔티티를 조회해서 영속성 상태로 바꾼다.
왜 이렇게 해야 할까?
Cascade, orphanRemoval에 의한 자식도 삭제가 누락되지 않도록 해야 한다.

→ 그렇지만, Cascade, orphanRemoval 상관없이 delete 쿼리를 바로 날려도 될 경우, (관계 매핑할 게 없고 영속성 전이를 할 필요가 없을 경우)에는 delete 를 오버라이딩하여 성능 향상을 할 수 있다.

 

 

 

 

'내배캠 주요 학습 > JPA 심화' 카테고리의 다른 글

QueryDSL 활용 코드  (0) 2023.08.01
QueryDsl 기초  (0) 2023.08.01
JpaRepository 기능 제한하기  (0) 2023.07.31
Cascade.REMOVE 와 orphanRemoval=true 차이  (0) 2023.07.31
JPA 복합키 설정하기 - @EmbeddedId  (0) 2023.07.31