작성
·
252
0
안녕하세요 영한님 강의 재밋게 잘보고 있습니다.
다름이 아니라 회사에서 QueryDSL 처음 도입을 하려고했는데
멀티?프로젝트로 현재 구성이 되어있습니다.
예를들면
Porjects
projcet1
projcet2
projcet1Common
이런식으로 되어있고
projcet1 / projcet2 는 projcetCommon을 참조하는 구조입니다.
모든 Entity는 projcetCommon를 참조하고 있습니다.
근데 여기서 질문드리고 싶은것은
projcetCommon에는 공통으로 사용하는 util이나 Entity만 있고 각각 project마다 DTO는 다르게 사용을 합니다.
이유는 Entity는 자주 변화가 없지만 DTO는 자주 변할 가능성이 있기때문에 각각사용을 합니다.
제가 queryDSL로 서브쿼리를 사용하여 alias를 줘서 보내는 컬럼이 있는데 그거에 맞는 DTO는 project1 에 있다보니
Entity에 @Transient를 주어서 Entity반환을 해서 사용합니다....
Common에 DTO를 만드는것 말고는 다른 방법이 없을까요..?
답변 1
1
안녕하세요. 허지노님^^
의존관계상 Common에 DTO가 필요합니다.
그런데 엔티티에 @Transient를 사용하는 것은 좋지 않은 설계입니다. 이것을 제거하는 방법으로 고민하셔야 합니다.
추가로 죄송하지만 앞으로는 질문 안내에 있는 것 처럼 학습에 관련된 질문을 올려주시길 부탁드립니다.
저도 마음으로는 도움을 드리고 싶지만, 하루에도 수 많은 분들이 질문을 올려주십니다. 그래서 학습과 관련된 질문에 초점을 맞추는 것이 맞다 생각합니다. 다시한번 이해를 부탁드립니다.
감사합니다.