반응형

최근 로그성 데이터를 수집하여, RDB에 넣어놓고

내림차순하여 일정량의 데이터를 보여주어야 하는 API를 만들일이 생겼다.


그냥 날쿼리나 mybatis를 사용하면 간단하겠지만, 귀찮으므로 spring jpa를 이용해서 해결해보기로 하였다.


요구사항은 두가지


1. 데이터량 제한 (limit or top)

2. 내림차순 (order by asc | desc)


저 두 가지 요구사항 모두 Spring JPA의 JpaRepository를 구현한 인터페이스에 메소드 명 정책만 맞춰주면 해결이 된다.


// 시퀀스 기준으로 내림차순한 결과를 300개만 가져오는 메소드명

public List<?> findTop300ByOrderBySeqDesc();

구글링을 해보면, 보통 findTop300 다음에 조건문을 넣기 위해 컬럼명을 넣게 되는데,

필요없는 경우에는 컬럼명을 생략이 가능하다. (이런 예제가 없어서 하루종일 헤맴;;)


Order By는 그냥 쿼리 작성하듯이 자연스럽게 작성해주면 된다.


역시 jpa는 편리하군

반응형

'개발 > JPA, Hibernate' 카테고리의 다른 글

[Hibernate] Hibernate Validator  (0) 2016.06.11
[Hibernate] Custom Validator  (0) 2016.06.11
[Hibernate] ddl-auto  (0) 2016.06.11
[Hibernate] Entity 선언 시 주의점  (0) 2016.06.11
[Spring Data Jpa] custom query 적용  (0) 2016.06.11
,