Query관련으로 질문이 있습니다 !!
200
작성한 질문수 24
위와같이 Product, Restaurant 두개의 엔티티를 만들었는데
Product엔티티자체가 Restaurant엔티티에 포함된다고 생각해서 Product엔티티의 삭제 및 생성의 관해선 Restaurant이 관할해야한다고 생각해 cascade와 Repository도 Restaurant만 만들었는데요 이러한 방식이 괜찮을까요 ?
정리하면
1.Restaurant를 애그리거트 루트로 보고 Product에 접근하기위해선 항상 Restaurant을 거쳐야된다고 생각해 위와같은 구조로 만들었습니다 괜찮을까요 ?
2.
(실제 테스트는 해보지않은 부분이라 틀릴 수 있습니다 ㅠㅠ 의미만 봐주세요 )
1번에서 이어지는 부분인데 RestaurantRepository에서 Product의 Id를통해 Restaurant엔티티를 가져오는 부분입니다 이러한 코드는 어떻게 생각하시나요 ?
- Restaurant엔티티를 통해 Product에 접근해야된다고 생각해서 ProductRepository를 만들지 않았습니다
- 그렇기때문에 1:N 중 1쪽에서 탐색하고있는데 괜찮을까요 ?
답변 1
1
안녕하세요. 정윤성님
Restaurant, Product 정도의 관계는 사실 둘다 각각의 AggregateRoot로 봐야 합니다.
그런데 학습용이라고 가정하면 나머지 질문하신 내용들은 대부분 맞습니다.
감사합니다.
0
만약 위처럼 루트엔티티와 노드엔티티의 관계가 있을때 2번 질문처럼 노드엔티티에 접근하려면 루트엔티티를 먼저 가져온 뒤 엔티티그래프를 통해 노드엔티티에 접근하는것이 맞는걸까요 ? 성능적인 부분에서도 조인을 사용하기에 떨어질 수 있는데 아니라면 혹시 어떠한 방식으로 접근해야할지 간략하게만 부탁드리겠습니다 !!
+ 추가적으로 애그리거트를 나누실때 선생님은 어떠한 기준으로 나누는지에 대해 조언좀 부탁드리겠습니다 !!
0
만약 위처럼 루트엔티티와 노드엔티티의 관계가 있을때 2번 질문처럼 노드엔티티에 접근하려면 루트엔티티를 먼저 가져온 뒤 엔티티그래프를 통해 노드엔티티에 접근하는것이 맞는걸까요 ?
->애그리거트의 개념적으로는 루트 엔티티를 통해서 조회하는 것이 맞지만 성능 최적화를 위해서는 직접 조회하거나 다른 방법도 함께 고려할 수 있습니다.
애그리거트를 나누는 기준은 딱 정답은 없지만 다음을 읽어보시면 도움이 되실거에요.
https://www.inflearn.com/questions/232252
감사합니다.
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
77
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
109
3
MemberRepository 구현체
0
61
1
pdf 표현 질문드립니다.
0
63
1
로그가 남지 않는 문제.
0
86
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
73
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
73
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
95
2
Sort 인터페이스는 잘 사용 안하나요?
0
52
1
스캔대상 질문드립니다.
0
46
1
하이버네이트6에서의 최적화에 이은 질문
0
88
1
save() vs saveAndFlush DB 통신 횟수
0
55
1
순수 JPA 리포지토리 코드 수정부분
0
87
2
bulk연산 후 flush하는 이유를 모르겠어요
0
153
3
bulk insert 질문입니다.
0
182
2
교만했던 것 같아요.
0
147
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
150
2
동적 테이블에 대한 질문
0
87
1
영속성 전이와 연관관계
0
132
2
강의 10:25 질문
0
75
1
단건 update 질문
0
98
2
엔티티 와 도메인의 경계
0
129
1
UsernameOnlyDto 타입 type mismatch 오류
0
122
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
137
1





