스프링 데이터 Common 4. 쿼리 만들기 실습 - KwangtaekJung/inflearn-spring-data-jpa-keesun GitHub Wiki
- 기본 예제
List<Person> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname);
// distinct
List<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);
List<Person> findPeopleDistinctByLastnameOrFirstname(String lastname, String firstname);
// ignoring case
List<Person> findByLastnameIgnoreCase(String lastname);
// ignoring case
List<Person> findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);
- 정렬
List<Person> findByLastnameOrderByFirstnameAsc(String lastname);
List<Person> findByLastnameOrderByFirstnameDesc(String lastname);
페이징
Page<User> findByLastname(String lastname, Pageable pageable);
Slice<User> findByLastname(String lastname, Pageable pageable);
List<User> findByLastname(String lastname, Sort sort);
List<User> findByLastname(String lastname, Pageable pageable);
- 스트리밍
Stream<User> readAllByFirstnameNotNull();
- try-with-resource 사용할 것. (Stream을 다 쓴다음에 close() 해야 함)
- DB에서 Stream을 사용하는 경우 명시적으로 close 해줘야 하기 때문이다.