작성
·
147
0
안녕하세요. JPA 강의 잘 듣고 있습니다.
고아 객체 관련해서 질문이 있는데요.
Parent 객체를 제거하게 되는 경우, Child 엔티티 delete 쿼리가 실행되는 것은 확인했는데
제가 생각했던 쿼리하고는 모습이 다른듯 해서요
실제로 Parent를 remove API를 사용하여 호출한 경우,
매핑 정보가 @OneToMany로 해당 엔티티를 알수있기 때문에
아래와 같은 쿼리가 전송 될 것으로 예상했었는데
delete from Child where parent_id = ?
delete from Parent where parent_id = ?
실제로는
delete from Child where child_id = ?
delete from Child where child_id = ?
delete from Parent where parent_id = ?
이런 식으로 전송이 되는 듯 해서요...
물론 JPA가 식별자를 기반으로 영속화 작업을 하기 때문에 그럴 수 있겠다고 이해는 하는데 Child가 많아질 수록 실행하는 쿼리 갯수가 많아질 듯한데요.
나중에 배우게 될 JPQL을 사용하는 방식으로 처리 해야 하는 건지 문의드립니다.