■ @OneToMany > SPRING_DATA_JPA

본문 바로가기
사이트 내 전체검색

SPRING_DATA_JPA

■ @OneToMany

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 71회 작성일 24-06-27 10:22

본문

@OneToMany 


게시물과 댓글, 게시물과 첨부파일의 관계를 테이블의 구조로 보면 완전히 같은 구조지만,

이를 JPA에서는 게시글을 중심으로 해석하는지, 첨부파일을 중심으로 해석하는지에 따라서 다른 결과가 나올 수 있다.


앞에서 게시글과 댓글은 JPA에서 가장 많이 사용하는 @ManyToOne을 이용해서 처리했으므로 첨부 부분은 @OneToMany로 적용한다.


@OneToMany는 기본적으로 상위 엔티티(게시물)와 여러 개의 하위 엔티티들(첨부파일)의 구조로 이루어진다. 


@ManyToOne은 다른 엔티티 객체의 참조로 PK를 가지는 쪽에서 하는 방식이고, 

@OneToMany는 PK를 가진 쪽에서 사용한다는 점이다. 


특징

01. 상위 엔티티에서 하위 엔티티들을 관리한다.

02. JPA의 Repository를 상위 엔티티 기준으로 생성한다.

하위 엔티티에 대한 Repository의 생성이 잘못된 것은 아니지만 하위 엔티티들의 변경은 상위 엔티티에도 반영되어야 한다.

03. 상위 엔티티 상태가 변경되면 하위 엔티티들의 상태들도 같이 처리해야 한다.

04. 상위 엔티티 하나와 하위 엔티티 여러 개를 처리하는 경위 'N+1' 문제가 발생할 수 있으므로 주의 해야 한다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
349
어제
210
최대
10,760
전체
268,351
Copyright © dancePKT . All rights reserved.