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