Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

지우쓰 개발일기

[JPA] 연관관계 Mapping (2) 본문

Spring Boot/JPA

[JPA] 연관관계 Mapping (2)

jiwoo-kimm 2020. 9. 12. 23:42

본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다.

 

자바 ORM 표준 JPA 프로그래밍

에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다.

www.aladin.co.kr

 


1:1 연관관계


  • 주 테이블에 FK

    • 단방향

    • 양방향

  • 대상 테이블에 FK

    • 양방향

 

N:N 연관관계


  • 관계형 DB는 다대다 관계를 정규화된 테이블 2개로 표현할 수 없고, 연결 테이블을 중간에 추가함

  • 객체는 객체 2개만으로 다대다 관계를 표현할 수 있음
  • @ManyToMany
  • @JoinTable
속성 기능
name 연결테이블 지정
joinColumns 현재 엔티티를 참조하는 FK
inverseJoinColumns 반대 방향 엔티티를 참조하는 FK
@ManyToMany
@JoinTable(name = "MEMBER_PRODUCT",
    joinColumns = @JoinColumn(name = "MEMBER_ID",
    inverseColumns = @JoinColumn(name = "PRODUCT_ID"))
private List<Product> products = new ArrayList<Product>();
  • 이 방법으로는 연결 테이블의 추가 컬럼을 표현할 수 없어 실무에 적용하기는 어려움

 

연결 엔티티


  • 식별 관계: 복합 기본 키 매핑

    • @IdClass

    • @EmbeddedId

  • 비식별 관계: 새로운 기본 키

    • 보다 간결하게 매핑 가능 (추천)

'Spring Boot > JPA' 카테고리의 다른 글

[JPA] 복합키와 식별관계 Mapping  (0) 2020.09.13
[JPA] 상속관계 Mapping  (0) 2020.09.13
[JPA] 연관관계 Mapping (1)  (0) 2020.09.10
[JPA] Persistence Context  (0) 2020.09.09
[JPA] JPQL 개요  (0) 2020.09.09
Comments