[JPA] @OneToMany 연관관계 매핑
시작
@OneToMany 매핑, 즉 일대다 관계를 스프링 부트에서 어떤 식으로 적용시키면 좋을지에 대해 알아본다.
일대다(1:N) 관계
일대다 관계란, 한 쪽의 엔티티가 다른 쪽의 엔티티의 객체 여러개를 가질 수 있을 때를 의미하는 관계이다.
예를 들어, 하나의 팀은 여러명의 선수를 가질 수 있다. 이런 경우를 팀이 선수와 일대다 관계를 맺고 있다고 말할 수 있다. 이를 그림으로 나타내면 다음과 같은 모양일 것이다.
외래키는 member가 가지게 된다.
Spring에서 위의 관계는 team 테이블을 @OneToMany와 @JoinColumn()을 이용해 member와 매핑하는 방식으로 구현된다.
예시코드는 다음과 같다.
@Entity
public class team{
@OneToMany
@JoinColumn(name = "team_id")
private List<Member> members = new ArrayList<>();
}
Member 타입 리스트로 이루어진 members변수를 하나 선언하고, 이에 대해 어노테이션을 두 개 적용한다.
하나는 @OneToMany로 일대다 관계를 의미하는 어노테이션이고, 다른 하나는 @JoinColumn으로 외래키를 매핑할 때 사용됩니다. 여기서는 team_id가 외래키로 사용되었으므로, name="team_id"의 형식으로 인자로 들어가게 된다.
Author And Source
이 문제에 관하여([JPA] @OneToMany 연관관계 매핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jjonggang/JPA-OneToMany-연관관계-매핑저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)