다대일관계의 Team과 Member가 있다. 그리고 이들을 cascade설정해두고
Team1, Member1,Member2가 있고 이들을 모두 묶은다음에 저장한다
그러면 3개의 insert쿼리가 나간다 (예상대로다)
하지만 일대다관계에서 똑같은 상황이라면 더 많은 쿼리가 나가게된다.
업데이트쿼리가 나가게된다
https://wwlee94.github.io/category/blog/spring-jpa-one-to-many-save-issue/
일대다 단방향 관계에서 엔티티 save시 update쿼리가 추가로 발생
예를들어 team entity에 members라는 멤버변수가 있다고 가정하자
-> 일대다 라는것은 일단 다쪽에 fk가 있는것은 맞지만 엔티티에서 일쪽에 다에대한 변수만 있는 경우를 말한다.
그리고 members를 임의로 생성해서 team과 연관관계를 맺어준 뒤에 team을 저장한다고 하자.
결국은 member 엔티티에 team_id컬럼이 추가되겠지만
단방향이어서 entity상에서는 member는 team의 존재를 모른다
그래서 team_id가 없는 채로 member 는 insert되고, 디비에 저장된 후 update를 통해서 team_id를 추가한다
출처
https://www.youtube.com/watch?v=rYj8PLIE6-k
https://wwlee94.github.io/category/blog/spring-jpa-one-to-many-save-issue/