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

류재준님의 프로필 이미지
류재준

작성한 질문수

실전! 스프링 데이터 JPA

네이티브 쿼리

질문 드립니다.

해결된 질문

작성

·

992

1

안녕하세요 강사님

업무를 하다가.. 궁금한 부분이 있어서 질문을 남기게 되었습니다.

질문드립니다.

질문1

Repository에서 @Query 어노테이션을 사용해서

nativeQuery = true 옵션을 주고

Entity 객체로 값을 반환을 받는데

네이티브 쿼리에서 추가한 연산한값 또는 rownum 같은

값을 Entity 객체로 받을수 있을까요?

구글링을 해보니까 안된다고 하는것 같아서요

Entity 객체에

@Transient 애노테이션을 붙여서 필드를 생성해 놓았지만

해당 애노테이션은 엔티티를 만들때 컬럼을 생성하지 않는 역할이라서 역시 안될것 같았지만

역시나 안되네요

혹시 다른 방법이 있을까 해서 질문 남깁니다

질문2

Spring Data Slice를 사용해서 페이징을 구현하려고 하는대요

커서의 개념으로 조회를 하려고 합니다.

그래서 PageRequest.of(0,3)으로 고정 해 놓고

id 값을 기준으로 3개씩 조회를 하려고 하였는데

(id < 입력 값)

order by 정렬 기준으로 id를 사용할수가 없는 경우에는

혹시 다른 방법이 있을까요?

(순차적으로 id 값이 정렬되어 있지 않은 경우)

그래서 rownum을 사용해서 조회를 하였는데

Entity 객체로 rownum이 반환이 안되더라구요;;

읽어 주셔서 감사합니다^^

Projections 이건 지금 처음 보았는데

안되면 Projections 고려해 바야겠습니다^^

감사합니다.

답변 4

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

공유 감사합니다^^

1

류재준님의 프로필 이미지
류재준
질문자

답변 주셔서 감사합니다^^

1

류재준님의 프로필 이미지
류재준
질문자

@SqlResultSetMapping

@NamedNativeQuery

강사님 책을 찾아보고 해봤는데

결과가 같이 나오긴 하는데..

0 번배열 Entity 객체

0번 배열 Long객체

이렇게 출력되는군요;;

다시..원점에서 Projections 이녀석을 고민해 봐야겠습니다!

감사합니다^^

1

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

안녕하세요. 재준님^^

질문1

네 엔티티로는 안됩니다. DTO로 받으셔야 합니다.

질문2

커서의 개념으로 조회하려면 명확한 정렬 기준이 있어야 합니다.

감사합니다.

류재준님의 프로필 이미지
류재준

작성한 질문수

질문하기