회원에서 팀으로 접근하고, 팀에서 회원으로 접근할 수 있도록 양방향 연관관계로 매핑

회원과 팀은 다대일 관계이고, 팀에서 회원은 일대다 관계다.
일대다 관계는 여러 건과 연관관계를 맺을 수 있으므로 컬렉션을 사용해야 한다.
Team.members를 List 컬렉션으로 추가했다.
JPA는 List를 포함해서 Collection, Set, Map 같은 다양한 컬렉션을 지원한다.(14.1)
데이터베이스 테이블은 외래키 하나로 양방향으로 조회할 수 있기 때문에 데이터베이스에 추가할 내용은 없다.
//회원 엔티티는 변경할 부분X//팀 엔티티@Data@Entitypublic class Team{ @Id @Column(name="TEAM_ID") private String id; private String name; //추가 @OneToMany(mappedBy = "team") //Member클래스의 필드 이름 private List<Member> members = new ArrayList<Member>();}
팀과 회원은 일대다 관계이기 때문에 팀 엔티티에 LIst<Member> members를 추가했다.
일대다 관계를 매핑하기 위해 @OneToMany 매핑 정보를 사용했다.
mappedBy 속성은 양방향 매핑일 때 사용하는데, 반대쪽 매핑의 필드 이름을 값으로 주면 된다.
이제 회원 컬렉션으로 객체 그래프를 탐색할 수 있다.
//일대다 방향으로 객체 그래프 탐색public void biDirection(){ Team team = em.find(Team.class, "team1"); List<Member> members = team.getMembers();//팀 -> 회원}