-
[JPA, Query DSL] Tuple을 이용한 Join Entity 탐색JPA 2023. 10. 10. 11:13728x90
안녕하세요. 정말 날씨가 이제는 춥네요.
가을이 너무 매섭게 지나가는건 아닌가 무섭습니다.
ㅠㅠㅠ 트렌치 코트를 꺼내지도 못했는데 말이죠~
오늘은 프로젝트 중에 Tuple을 이용한 Entity 탐색에 대해 알아보겠습니다.
Query DSL에서 멀티 엔티티 조회
테이블은 회사내용이기도하고... 조인에 사용하는데 크게 영향을 끼치지 않기에 내용을 삭제 후 보여드리겠습니다.
public List<Tuple> findByCondition(String type, String card, int offset) { return jpaQueryFactory.select(contract, company, code) ...(조건) .offset((offset-1)*10) .limit(10) .fetch(); }
내용을 보시면 List<Tuple>로 리턴하며 select에는 contract, company, code이렇게 세개의 QueryDSL 관련 class들이 있습니다.
탐색
List<Tuple>tuples=contractRepository.findByCondition(type, card, offset);
이렇게 데이터를 받은 뒤 탐색을 시작하겠습니다.
사실 간단하긴 하지만 제가 하루 이상 걸렸기에 기록을 해놓는 게시글이긴 합니다 헤헤
for(Tuple tuple:tuples) { Company tupleCompany=tuple.get(company); Contract tupleContract=tuple.get(contract); Code tupleCode=tuple.get(code); responseList.add(ContractResponseDto .builder() ... 생성자 데이터 .build()); }
보이시나요? 기존의 검색한 글에서는 company.name... 이런식이여서 계속 null데이터가 출력됐었습니다.
큽..
그치만 이제는 tuple.get을 통해 Class로 받습니다.
comapny, contract, code는 Repository에서 사용했던 QCompany, QContract, QCode입니다.
오늘은 이렇게 간단한게 탐색 방법을 기록 후 마무리하겠습니다.
감사합니다. :D
😉😉😉😉👍
'JPA' 카테고리의 다른 글
[JPA] 복합키 중 하나의 PK끼리 매핑 (0) 2023.10.24 [JPA] JPQL로 복합키 PK 검색 (0) 2023.10.06 [JPA] No default constructor for entity(에러) (0) 2023.09.07