해결된 질문
작성
·
315
0
Team team = new Team();
team.setName("TeamA");
em.persist(team); <--이 부분은 삭제하면 안 되나요?
Member member = new Member()
member.setUsername("member");
member.setTeam(team);
em.persist(member);
표시한 부분을 삭제하면 왜 안 되나요? JPA 입장에서는 member.setTeam(team) 하는 순간 memer객체가 영속성 상태라면 team객체를 영속성 상태로 설정할 수 있지 않나요? 왜 굳이 연관관계의 주인이 아닌 team도 개발자가 persist()처리를 해줘야 하나요? 그것에 대한 이점이 있는지요.
답변 1
3
안녕하세요. 컴퓨터공부하자님
persist는 엔티티 하나하나 직접 해주어야 합니다.
이후에 cascade를 학습하시면 한번에 persist 하는 방법도 배울 수 있습니다.
추가로 연관관계의 주인이라는 개념은 외래 키에 대한 부분이지 엔티티를 영속화 하는 것과는 무관합니다.
감사합니다.