인프런 커뮤니티 질문&답변

이동환님의 프로필 이미지

작성한 질문수

실전! Querydsl

서브쿼리 조인 관련 문의

20.07.16 11:06 작성

·

189

0

안녕하세요.

강의 내용과 관련이 없을 수도 있는 질문일것 같아서 관련 없다고 판단되시는 경우 답변 안주셔도 됩니다. ^^

저희 회사에서 검색한 결과에 다른 연관된 테이블의 건수 등을 포함해서 보여주고 싶고, 그 건수로 정렬을 하고 싶다고 하는데

저는 당장 드는 생각이 서브쿼리로 조인하는 것 밖에 생각이 안나더라구요.

찾아보니 이건 안된다고 하던데 어떻게 다른 해결 방법은 없을까요?

A 테이블이 있고, 일대다 관계인 B 테이블있는데..

A테이블 검색 시 B 테이블의 건수를 조회하고, B 테이블의 건수로 정렬을 하고 싶습니다.

알려주실 수 있는 다른 방법이 없을까요? 답변 부탁드립니다.

감사합니다.

답변 4

1

이동환님의 프로필 이미지
이동환
질문자

2020. 07. 20. 10:07

아.. 넵 알겠습니다

1

김영한님의 프로필 이미지
김영한
지식공유자

2020. 07. 20. 01:14

JPA를 사용할 때 주로 데이터를 저정하거나 변경하는 핵심 비즈니스 로직에는 JPA가 잘 적용되고, 코드도 깔끔하게 나오지만 복잡한 조회성 쿼리에는 네이티브 쿼리도 가끔 필요합니다^^

제가 권장하는 방법은 그냥 이럴 때는 너무 복잡하게 생각하는 것 보다, 네이티브 쿼리를 쓰시는게 좋습니다^^

1

김영한님의 프로필 이미지
김영한
지식공유자

2020. 07. 16. 22:38

안녕하세요. 이동환님^^ 좋은 질문입니다.

이 케이스는 from 절의 서브쿼리인 inline view를 사용해야 할꺼에요.

JPA에서 from절의 서브쿼리를 지원하지 않기 때문에 이 부분은 네이티브 쿼리를 사용해야 합니다.

감사합니다.

0

이동환님의 프로필 이미지
이동환
질문자

2020. 07. 19. 15:25

답변 주셔서 정말 감사합니다.

현재 네이티브 쿼리로 처리를 해 놓긴 했는데... 소스를 보고 있으니 "아... 이럴려고 JPA랑 QueryDSL쓰는게 아닌데.. " 하는 생각이 많이 드네요. ㅠㅠ

되는지는 잘 모르겠지만 뷰를 생성해서 뷰를 Entity로 등록하는것도 생각중입니다. (가능할지 모르겠지만요)

요거 안되면 통계용 테이블을 별도로 만들어 배치 처리도 생각중입니다.

강의와 직접적인 관련이 없는 질문 드려서 죄송하구요. 답변 감사합니다.