1:N 양방향 매핑할 때 저장순서에 따른 쿼리
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 연관관계 코드로 쳐보면서 하다가 이상한 부분이 있어서 궁금증이 생겨 질문합니다. Member : N Team : 1 로 Member가 연관관계 주인인 상태로 member와 team 객체의 연관관계를 설정하고 public class Member { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_ID") private Team team; } public class Team { @OneToMany(mappedBy = "team") // Member의 team과 연결되어있다. private List<Member> members = new ArrayList<>(); } member 저장후 team 저장시 member insert team insert 가 나간 뒤에 member update 쿼리가 나가는데 이때 member의 모든 필드에 대한 업데이트 쿼리가 나갑니다. Member member = new Member(); member.setUsername("member1"); Team team = new Team(); team.setName("team1"); member.setTeam(team); team.getMembers().add(member); em.persist(member); em.persist(team); em.flush(); em.clear(); 이게 왜이런지 모르겠습니다. member가 먼저 추가되면서 teamId가 설정됬을 텐데 실질적인 team 이 데이터베이스에 없어서 team이 추가된 뒤에 연관관계를 맞추기위해 member의 모든 필드를 update했다고 봐야하나요? 그러면 teamId만 update 해주면 되는데 모든 필드를 업데이트하는 이유가 궁금합니다. 항상 감사합니다.
- java
- jpa
- 1:n양방향매핑





