[Spring] JPA QueryMethod 활용
JPA QueryMethod 활용
findByEmailAndName
: 이메일과 이름을 통해 쿼리문을 조회 (이메일과 이름이 모두 존재하는 쿼리문 결과를 리턴)
findByEmailOrName
: 이메일과 이름을 통해 쿼리문을 조회 (이메일과 이름 중 하나의 데이터가 존재하는 쿼리문 결과를 리턴)
findByCreatedAtAfter
: 매개변수 이후에 생성된 데이터의 결과를 반환 (Before의 경우는 반대로 생각하면 된다.)
findByCreatedAtGreaterThan
: 위의 쿼리문인 Before/After와 기능적으로 동일하다.
findByCreatedAtBetween
: A와 B사이에 있는 데이터의 결과를 반환, 양끝의 조회 값을 포함한 결과 값을 반환
findByIdIsNotNull
: id값이 null이 아닌 데이터를 반환 → 아이디는 키 값이기 때문에 모든 결과가 반환된다.
findByNameIn
: List타입으로 매개변수를 받고 해당 항목이 포함된 것들을 리턴한다. in절에 너무 많은 데이터가 들어갈 경우 성능상 이슈가 발생할 수 있다.
findByNameStatingWith
: EndingWith
와 Contain
동일한 기능을 수행하며, Like검색 효과를 낼 수 있다.
findByNameLike
: 위와 동일하지만 매개변수를 받을 때 %와 같은 요소를 넣어야 한다.
Paging과 Sorting
findTop1ByNameOrderByIdDesc
: 이름을 통해 검색을 하고, id의 역순으로 검색하여 가장 위에 있는 데이터를 하나 리턴한다.
Sort.by(Order.desc(컬럼), Order.asc(컬럼))
: 이와 같은 방법으로 여러 개의 방식으로 Sorting이 늘어나더라도 깔끔하게 표현할 수 있다.