- 1 에서 외래키를 관리하는 것
- 실무에서 권장하지 않는 모델이다.

- 팀은 멤버를 알고 싶지만 멤버는 팀을 알고 싶지 않을 때
- DB 입장에서는 다 쪽에 외래키가 있어야 한다.
- 위 모델은 팀의 멤버를 추가했을 때 멤버의 외래키를 업데이트 해야 한다.
실습
public class JpaMain {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
try {
Member member = new Member();
member.setUsername("member1");
em.persist(member);
Team team = new Team();
team.setName("teamA");
team.getMembers().add(member);
em.persist(team);
tx.commit();
} catch (Exception e) {
tx.rollback();
} finally {
em.close();
}
emf.close();
}
}
- 멤버를 insert
- 팀을 insert
- 멤버 fk를 update
문제점
- 개발자 입장에서는 Team을 손댔는데 Member가 업데이트 되므로 혼란이 생길 수 있다.
추천 방법
- 멤버가 연관 관계 주인이 되고 양방향으로 연결한다.