• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

고아객체

23.03.17 23:35 작성 조회수 278

0

@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, orphanRemoval = true, cascade = CascadeType.PERSIST  )
List<Child> children = new ArrayList<>();

위에 코드에서 고아객체를 삭제했기 때문에 children.remove(0); 을 하면 첫번째 child가 삭제되어야 하지만 cascade = CascadeType.PERSIST를 제거하면 delete쿼리가 발생하지 않습니다 PERSIST는 영속화될 때 같이 영속화하는 속성으로 알고있는데 제거하면 고아객체 삭제가 왜 되지 않는것인지 궁금합니다.

 

그리고 mappedBy를 사용한 children은 주인이 아니라서 chindlren.add(child)를 해도 반영이 되지 않는걸로 알고있는데 PERSIST속성을 주면 주인이 아니여도 둘 다 영속화가 되는것인지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. YOGURT님^^

1번 질문은 다음을 참고해주세요.

https://www.inflearn.com/questions/137740

2번 질문은 다음을 참고해주세요.

https://www.inflearn.com/questions/15855

감사합니다.