단방향과 양방향 매핑

Hyeok·2025년 2월 24일

단방향 매핑

한쪽 엔터티만 상대 엔터티를 참조함.
예: Team → Member 참조 (@OneToMany), 하지만 Member → Team 없음.
장점: 구조가 단순하고 성능이 좋음.
단점: 반대 방향 조회 불가.

양방향 매핑

두 엔터티가 서로 참조함.
예: Team → Member (@OneToMany(mappedBy)) + Member → Team (@ManyToOne).
장점: 객체 그래프 탐색이 용이함.
단점: 관계 설정이 복잡하고 성능 저하 가능.
주의: 연관관계의 주인을 명확히 설정해야 함.

  • 양방향 매핑을 할 경우, 연관관계 편의 메서드를 만들어 일관성을 유지하는 것이 좋음.
public void setTeam(Team team) {
    this.team = team;
    if (!team.getMembers().contains(this)) {
        team.getMembers().add(this);
    }
}
profile
공부하면서 정리한 블로그입니다. 혹시 잘못된 내용이 있다면 댓글로 알려주시면 큰 도움이 됩니다. 감사합니다!

0개의 댓글