JPA 연관관계 매핑
-
JPA - 4. 다양한 연관관계 매핑Java 2020. 7. 25. 18:16
연관관계 매핑시 고려사항 3가지 1. 다중성 2. 단방향, 양방향 3. 연관관계의 주인 1. 다중성 - 다대일 : @ManyToOne - 일대다 : @OneToMany - 일대일 : @OneToOne - 다대다 : @ManyToMany 2. 단방향, 양방향 - 테이블 - 외래키 하나로 양쪽 조인 가능 - 사실 방향이라는 개념이 없다. - 객체 - 참조용 필드가 있는 쪽으로만 참조 가능 - 한쪽만 참조하면 단방향 - 양쪽이 서로 참조하면 양방향 3. 연관관계의 주인 - 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 - 객체 양방향 관계는 A -> B , B -> A 처럼 참조가 2군데 - 객체 양방향 관계는 참조가 2군데 있다. 둘 중 테이블의 외래 키를 관리할 곳을 지정해야 한다. - 연관관계의 ..
-
JPA - 3. 연관관계 매핑Java 2020. 7. 25. 17:33
- 연관관계가 필요한 이유 - 객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없다. - 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾는다. - 객체는 참조를 사용해서 연관된 객체를 찾는다. - 테이블과 객체 사이에는 이런 큰 간격이 있다. - 객체 지향 모델링 / 단방향 연관관계 // Member.class @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; ... //조회 Member findMember = em.find(Member.class, member.getId()); //참조를 사용해서 연관관계 조회 Team findTeam = findMember.getTeam(); //팀 저장 Team team = n..