[Spring] JPA QueryMethod 활용

고지훈·2022년 3월 20일
1

Spring

목록 보기
26/26

JPA QueryMethod 활용

  • findByEmailAndName: 이메일과 이름을 통해 쿼리문을 조회 (이메일과 이름이 모두 존재하는 쿼리문 결과를 리턴)
  • findByEmailOrName: 이메일과 이름을 통해 쿼리문을 조회 (이메일과 이름 중 하나의 데이터가 존재하는 쿼리문 결과를 리턴)
  • findByCreatedAtAfter: 매개변수 이후에 생성된 데이터의 결과를 반환 (Before의 경우는 반대로 생각하면 된다.)
  • findByCreatedAtGreaterThan: 위의 쿼리문인 Before/After와 기능적으로 동일하다.
  • findByCreatedAtBetween: A와 B사이에 있는 데이터의 결과를 반환, 양끝의 조회 값을 포함한 결과 값을 반환
  • findByIdIsNotNull: id값이 null이 아닌 데이터를 반환 → 아이디는 키 값이기 때문에 모든 결과가 반환된다.
  • findByNameIn: List타입으로 매개변수를 받고 해당 항목이 포함된 것들을 리턴한다. in절에 너무 많은 데이터가 들어갈 경우 성능상 이슈가 발생할 수 있다.
  • findByNameStatingWith: EndingWithContain 동일한 기능을 수행하며, Like검색 효과를 낼 수 있다.
  • findByNameLike: 위와 동일하지만 매개변수를 받을 때 %와 같은 요소를 넣어야 한다.

Paging과 Sorting

  • findTop1ByNameOrderByIdDesc: 이름을 통해 검색을 하고, id의 역순으로 검색하여 가장 위에 있는 데이터를 하나 리턴한다.
  • Sort.by(Order.desc(컬럼), Order.asc(컬럼)): 이와 같은 방법으로 여러 개의 방식으로 Sorting이 늘어나더라도 깔끔하게 표현할 수 있다.
profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글