-
연관관계 편의 메서드JPA 2024. 7. 8. 00:32
연관관계의 주인인 클래스를 업데이트해야
JPA에 의해 DB에도 제대로 반영됨!
Team team = new Team(); team.setName("Chelsea"); em.persist(team); Member member = new Member(); member.setName("ColePalmer"); member.setTeam(team); // 연관관계의 주인에게 값 설정! em.persist(member);
이렇게 주인쪽 즉 여기선 Member 객체 쪽에서 Team 값을 설정하고 있음
이게 맞는 방법임
아래와 같이 Team 쪽에서 Member 값을 설정하는건 안됨!
Team team = new Team(); team.setName("TeamA"); team.getMembers().add(member); // 주인 아닌놈한테 값 설정하면 안됨!! em.persist(team);
하지만 양쪽에다 그냥 다 값을 넣어주자
양방향 연관관계에서는
양쪽에 다 값을 세팅해주는게 맞음!
public void setTeam(Team team){ this.team = team; team.getMembers().add(this); }
이렇게 Member 쪽에 setTeam 함수를 만들고
내꺼에도 설정하고
Team 쪽에도 설정하게 해주면 됨!
이렇게 하면 양쪽에 넣어주는 것을 하나의 코드로 할 수 있음
즉 주인쪽에 넣는 코드 하나로만 해결가능!
헷갈리거나 빼먹지도 않고!
'JPA' 카테고리의 다른 글
[JPA] @JoinColumn의 이해 (0) 2024.09.01 [JPA] JPA의 이해 (0) 2024.07.28 @mappedBy의 이해 (0) 2024.07.08 단방향 양방향 연관관계의 이해 (0) 2024.07.08 영속성 컨텍스트의 이해 (0) 2024.07.08