Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 1.39 KB

05.연관관계매핑기초.md

File metadata and controls

20 lines (16 loc) · 1.39 KB

06. 다양한 연관관계 매핑

✔️ 6.1 다대일(@ManyToOne)

✔️ 6.2 일대다(@OneToMany)

  • 일대다 단반향 매핑의 단점은 매핑한 객체가 관리하는 외래 키가 다른 테이블에 있다는 점. 따라서 연관관계 처리를 위한 UPDATE SQL을 추가로 실행해야함.
  • 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자.(성능, 관리 측면)

✔️ 6.3 일대일(@OneToOne)

✔️ 6.4 다대다(@ManyToMany)

  • 객체는 연결테이블 없이 다대다관계를 만들 수 있음.(@ManyToMany)
  • 그러나 현업에서 쓰기엔 한계가 있음. 보통연결테이블에 ID외에 추가적인 다른 정보를 담기 떄문임.
  • 결국 연결엔티티를 사용하는 경우가 많음.
  • 연결테이블의 키 전략
    • 복합 기본 키(식별관계) : 부모테이블의 기본 키를 자식 클래스의 기본키 + 외래 키롤 사용하는것.
    • JPA에서 복합기본키를 사용하려면 별도의 식별자 클래스를 만들고 @IdClass를 사용해서 식별자 클래스를 지정해야함.
    • 새로운 기본 키 사용(비 식별관계) : 부모클래스의 기본 키는 외래키로만 사용.
    • 자동 생성 대리 키를 Long값으로 사용하는 것.
    • 식별자 클래스를 따로 만들지 않아도 되고 단순하고 편리하게 ORM 매핑을 할 수 있는 비식별 관계를 추천함.