본문 바로가기
인프런 강의/실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA주요 관계 매핑 타입

by 해삼2 2024. 1. 19.
728x90
반응형
JPA주요 관계 매핑 타입

 

JPA주요 관계 매핑 타입

 

일대다(OneToMany):
한 엔터티가 여러 개의 다른 엔터티와 매핑되는 관계입니다. 

예를 들어, 하나의 작성자(글쓴이)가 여러 개의 게시물을 작성할 수 있는 경우입니다.


다대일(ManyToOne):
여러 엔터티가 한 개의 엔터티와 매핑되는 관계입니다. 

일대다 관계의 반대입니다. 

예를 들어, 여러 게시물이 하나의 작성자(글쓴이)에게 속할 수 있는 경우입니다.

 

일대다(OneToMany)와 다대일(ManyToOne)관계

일대다(OneToMany)와 다대일(ManyToOne)관계 @Entity public class Shop { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "shop") private List products; // Getter, Setter, Constructor

smlnk124.tistory.com


다대다(ManyToMany):
여러 엔터티가 서로 다수의 엔터티와 매핑되는 관계입니다. 

예를 들어, 여러 학생이 여러 과목을 수강하는 학생-과목 관계입니다.

 

다대다(ManyToMany) 관계

다대다(ManyToMany) 관계 @Entity public class Shop { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToMany @JoinTable( name = "shop_brand", joinColumns = @JoinColumn(name = "shop_id"), inverseJoinColu

smlnk124.tistory.com


일대일(OneToOne):
이전에 설명한 것처럼, 한 엔터티가 정확히 한 개의 다른 엔터티와 매핑되는 관계입니다. 

 엔터티는 다른 엔터티와 일대일로 대응합니다.

 

일대일(OneToOne) 관계

일대일(OneToOne) 관계 @Entity public class Shop { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToOne(mappedBy = "shop") private Manager manager; // Getter, Setter, Constructors, etc. } @Entity publi

smlnk124.tistory.com


자기 참조 관계(Self-Reference):
엔터티가 자기 자신과의 관계를 가지는 경우입니다. 

예를 들어, 조직 구조에서 각 부서가 다른 부서와 연결될 수 있는 경우입니다.


728x90
반응형