• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

1:N 매핑과 해당 방식 차이가 뭔가요?

23.11.06 23:41 작성 조회수 211

0

1:N 매핑과 해당 방식 차이가 뭔가요?

답변 2

·

답변을 작성해보세요.

1

1:N은 엔티티와 엔티티 간 매핑입니다.

엔티티 간 매핑이므로 서로 독립적인 라이프사이클을 갖습니다.

예를 들어, A와 B가 1:N 관계일 때 A를 삭제한다고 해서 A와 연관된 모든 B가 삭제되지는 않죠.

물론 엔티티 간 연관에 영속성 전파 설정을 하면 같이 삭제되지만요.

 

반면에 값 콜렉션은 엔티티와 값의 관계입니다.

즉 엔티티를 삭제하면 엔티티에 속한 값도 함께 삭제됩니다.

또한 값만 따로 조회할 수 없습니다. 엔티티를 조회해야 엔티티에 속한 값도 같이 조회가 되지요.

감사합니다! 혹시 값 콜렉션은 언제 주로 사용하는걸까요? 값 콜렉션도 엔티티 간 매핑으로 할 수 있을 것 같은데, 어떠한 기준으로 생각해야할지 잘 모르겠습니다 ㅠ.ㅠ

0

개념적으로 하나인 대상을 매핑하고 싶을 때 사용합니다. 예를 들어 객관식 문제는 질문과 보기로 구성되어 있는데 이때 질문과 보기를 두 테이블에 나눠서 저장할 수 있을 겁니다. 여기서 '객관식 문제'를 DB에 매핑할 때 보기를 콜렉션을 사용해서 매핑할 수 있습니다.