한쪽 엔터티만 상대 엔터티를 참조함.
예: 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);
}
}