■ @OneToMany
페이지 정보
작성자 관리자 작성일 24-06-27 10:22 조회 70 댓글 0본문
@OneToMany
게시물과 댓글, 게시물과 첨부파일의 관계를 테이블의 구조로 보면 완전히 같은 구조지만,
이를 JPA에서는 게시글을 중심으로 해석하는지, 첨부파일을 중심으로 해석하는지에 따라서 다른 결과가 나올 수 있다.
앞에서 게시글과 댓글은 JPA에서 가장 많이 사용하는 @ManyToOne을 이용해서 처리했으므로 첨부 부분은 @OneToMany로 적용한다.
@OneToMany는 기본적으로 상위 엔티티(게시물)와 여러 개의 하위 엔티티들(첨부파일)의 구조로 이루어진다.
@ManyToOne은 다른 엔티티 객체의 참조로 PK를 가지는 쪽에서 하는 방식이고,
@OneToMany는 PK를 가진 쪽에서 사용한다는 점이다.
특징
01. 상위 엔티티에서 하위 엔티티들을 관리한다.
02. JPA의 Repository를 상위 엔티티 기준으로 생성한다.
하위 엔티티에 대한 Repository의 생성이 잘못된 것은 아니지만 하위 엔티티들의 변경은 상위 엔티티에도 반영되어야 한다.
03. 상위 엔티티 상태가 변경되면 하위 엔티티들의 상태들도 같이 처리해야 한다.
04. 상위 엔티티 하나와 하위 엔티티 여러 개를 처리하는 경위 'N+1' 문제가 발생할 수 있으므로 주의 해야 한다.
댓글목록 0
등록된 댓글이 없습니다.