해결된 질문
작성
·
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
2
slice 로 구현하면서 참고한 URL 입니다.
가장 도움이 된 URL : 커서 기반 페이지네이션 (Cursor-based Pagination) 구현하기 (velog.io)
그외
1. 페이징 성능 개선하기 - No Offset 사용하기 (tistory.com)
https://alwayspr.tistory.com/45
MySQL cursor based pagination with multiple columns - Stack Overflow
https://medium.com/swlh/how-to-implement-cursor-pagination-like-a-pro-513140b65f32
Cursor Pagination - 대용량 데이터에 페이지네이션 적용하기 (tistory.com)
1
1
@SqlResultSetMapping
@NamedNativeQuery
강사님 책을 찾아보고 해봤는데
결과가 같이 나오긴 하는데..
0 번배열 Entity 객체
0번 배열 Long객체
이렇게 출력되는군요;;
다시..원점에서 Projections 이녀석을 고민해 봐야겠습니다!
감사합니다^^
1
공유 감사합니다^^