질문입니다!
479
작성자 없음
작성한 질문수 0
강의에서는 Jparepository를 상속받는 ItemRepositoryV2 와 ItemQueryRepository 2개를 만들어서 ItemService에서 두 개의 리포지토리를 이용했는데요 이걸 하나로 만들 수는 없나요? (JpaRepository를 상속 받고 거기 안에서 QueryDSL을 사용 하면 안되나요?) 만약 가능한데 나누신거라면 나눈 이유가 궁금합니다
QItem은 무엇인가요 ? 아니면 @Entity가 붙은 클래스앞에 Q를 붙여서 엔티티마다 생성되는건가요 ? 엔티티들의 컨테이너라서 QItem.item 이렇게 사용 하는 것인지 헷갈립니다 ( A 클래스에 @Entity, B클래스에 @Entity가 붙어있다면 QA, QB 가 생성되는 것인가요? 아니면 QItem.A , QItem.b 이렇게 사용하게 되는 것인가요?
답변 1
0
안녕하세요. hjemsti님, 공식 서포터즈 y2gcoder입니다.
하나로 만들 수 있습니다. 영한님의 실전! Querydsl 강의에서 그 내용이 나옵니다. 두 개로 나눈 이유는 Repository의 하는 일에 따라 나눈 것으로 볼 수 있습니다. ItemRepositoryV2는 기본적인 CRUD 기능만 담당하고, ItemQueryRepository는 보통 복잡한 조회로직을 담당하도록 나눈 것입니다. 여기서는 검색기능이 비교적 간단했지만, 실무에서는 복잡한 조회로직까지 ItemRepositoryV2에 있을 경우 크기가 비대해지면서 관리하기가 어려워지기 때문에 구분해서 나누는 경우도 있습니다.
이런 것들을 패턴화한 것이 CQRS 패턴인데, 해당 링크를 참조해주세요!
https://docs.microsoft.com/ko-kr/azure/architecture/patterns/cqrs맞습니다. QueryDSL을 사용하기 위해 QueryDSL에서 자동으로 만들어준 객체입니다. 자세한 것은 마찬가지로 영한님의 실전! Querydsl 강의를 보셔도 좋습니다!
감사합니다.
설정 정보 없이 임베디드 데이터베이스 생성
0
28
1
RepositoryTest의 패키지 위치가 domain인 이유
0
50
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
39
1
update()에 사용하는 setter 질문드립니다.
0
57
1
SQL 중심적 개발의 문제점에 대한 질문
0
86
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
92
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
193
1
@repository 어노테이션
0
102
3
ItemService
0
64
1
논리 커밋, 물리 커밋 질문드립니다.
0
55
1
내부 트랜잭션 커밋은 필수인가요?
0
59
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
58
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
184
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
83
1
@EventListener(ApplicationReadyEvent.class) 관련
0
94
1
트랜잭션 동기화 매니저와 데이터 소스
0
78
1
DB 관련 강의 개설 계획은 없으신건가요?
0
135
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
98
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
118
1
트랜잭션 전파 질문.
0
89
1
프로젝트 오픈 에러
0
131
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
85
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
76
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
105
1





