작성
·
117
0
Member member = new Member();
member.setUsername("Member_A");
em.persist(member);
Team team = new Team();
team.setName("Team_A");
em.persist(team);
member.setTeam(team);
em.persist(member);
em.flush();
em.clear();
Team findTeam = em.find(Team.class, team.getId());
findTeam.getMembers().get(0).setUsername("Member_B");
findTeam.setName("Team_B");
em.persist(findTeam);
tx.commit();
안녕하세요 강의 잘 듣고 있습니다.
Member와 Team에서 연관관계의 주인은 Member라고 설정했습니다.
Member와 Team 엔티티를 하나씩 영속화하고
flush한 다음, Team을 find해서 Member의 이름을 바꿔보았습니다. 실제로 잘 동작합니다.
Team이 Member의 fk관련 데이터를 바꾸는게 불가능한 것이고, 다른 컬럼을 수정하는것은 가능한건가요?
답변 1
0
안녕하세요. 선도님
연관관계의 주인이라는 개념은 FK를 업데이트 하는 것과 관련이 있습니다.
Member, Team 엔티티 자체의 값이 변경되는 것은 이 부분과 관계는 없고 JPA에서 엔티티의 데이터를 변경하면 자기 자신의 데이터가 변경되는 것입니다.
감사합니다.