ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 연관관계 편의 메서드
    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