본문 바로가기
Data Base/JPA

[JPA] : 다대일, N:1

by 오주현 2022. 4. 11.
반응형
  • 연관관계 매핑 시 고려사항
    • 다중성
    • 단방향, 양방향
    • 연관관계 주인
  • 다중성
    • 데이터베이스 관점으로 고려하자.
      • 다대일 @ManyToOne
      • 일대다 @OneToMany
      • 일대일 @OneToOne
      • 다대다 @ManyToMany
    • 애매할 땐 반대로도 체크해 보면 된다.
      • 대칭성 이용
        • 다대일 반대는 일대다.. 등등
    • 다대다는 사용하면 안 된다.
  • 단방향, 양방향
    • 테이블
      • 외래키 하나로 양쪽 조인이 가능하다.
      • 방향 개념이 없다.
    • 객체
      • 참조용 필드가 있는 쪽으로만 참조가 가능
      • 한쪽만 참조하면 단방향
      • 양쪽이 서로 참조하면 양방향
        • 단방향이 두 개라고 보면 된다.
  • 연관관계 주인
    • 테이블은 외래키 하나로 두 테이블이 연관관계를 맺는다.
    • 연관관계의 주인은 외래키를 관리하는 참조이다.
    • 주인의 반대편은 외래키에 영향을 주지 않고 단순 조회만 가능하다.
  • JPA에서 가장 많이 사용하는 다대일, N:1
    • 항상 다 쪽에 외래키가 가야한다.
    • 일에 외래키가 가게 되면 여러개를 insert를 해 줘야 하기 때문에 잘못 된 설계이다.
    • 외래 키가 있는 쪽이 연관관계 주인이다.
    • 양쪽을 서로 참조하도록 개발한다.

자바 ORM 표준 JPA 프로그래밍 - 기본편을 참고하여 공부하였습니다.

반응형

댓글