JPA/SPRING DATA JPA(9)
-
스프링데이터 JPA[쿼리 메서드] - 페이징
페이징 사용 예) 1 2 3 4 5 6 Page findByUsername(String name, Pageable pageable); //count 쿼리 사용 Slice findByUsername(String name, Pageable pageable); //count 쿼리 사용 안 함 List findByUsername(String name, Pageable pageable); //count 쿼리 사용 안 함 List findByUsername(String name, Sort sort); cs org.springframework.data.domain.Sort: 정렬 기능 org.springframework.data.domain.Pageable: 페이징 기능(내부에 Sort 포함) org.springfr..
2021.02.06 -
스프링데이터 JPA[쿼리 메서드] - @Query 어노테이션 사용법
@Query JPQL을 정의할 수 있는 어노테이션 1. JPA의 @NamedQuery에 정의된 쿼리를 정의하여 사용할 수 있다. @Entity @NamedQuery(name="Member.findAll", query="select m from Member m") public class Member { ... } public interface MemberRepository extends JpaRepository { @Query(name = "Member.findAll") List findAll(); } 위 예제와 같이 NamedQuery의 이름과 레퍼지포리의 메서드 이름이 같은 경우 @Query 어노테이션 생략 가능. 2. 컬럼 리스트 조회하기 @Query("select m.username from Mem..
2021.02.06 -
스프링데이터 JPA[쿼리 메서드] - 메서드 이름으로 쿼리 생성 규칙, 반환타입
쿼리 메서드의 메서드명으로 쿼리 생성시 명명 규칙에 대해 알아보자. 메서드 명명 규칙 조회: find…By ,read…By ,query…By get…By 예:) findHelloBy 처럼 ...에 식별하기 위한 내용(설명)이 들어가도 된다. COUNT: count…By 반환타입 long EXISTS: exists…By 반환타입 boolean 삭제: delete…By, remove…By 반환타입 long DISTINCT: findDistinct, findMemberDistinctBy LIMIT: findFirst3, findFirst, findTop, findTop3 자세한 규칙은 레퍼런스를 참고하자. 메서드 명명 규칙 스프링 공식 레퍼런스: docs.spring.io/spring-data/jpa/docs..
2021.02.06