문제 상황
검색어로 검색요청시 검색어가 포함된 모든 데이터를 반환해야 하는 상황에서 기존 sql문의 Like문(%검색어%)을 사용하였으나 원하는 결과값을 반환하지 않음.
해결방법
구글링과 공식문서 참조
Spring Data JPA에서의 like문 문법은 조건에따라 4가지로 나누어집니다.
상황에 따라 적절한 문법을 선택하여 사용하면 됩니다!.
필자는 4번 case로 해결하였습니다
1. LIKE : 검색어
List<User> findByUsernameLike(String username);
2. LIKE : 검색어%
List<User> findByUsernameStartingWith(String username);
3. LIKE : %검색어
List<User> findByUsernameEndingWith(String username);
4. LIKE : %검색어%
List<User> findByUsernameContaining(String username);
data JPA 공식 문서 : https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
'프로그래밍 > JPA Project - sparta' 카테고리의 다른 글
북마크 기능 (0) | 2022.08.17 |
---|---|
전략 패턴 리팩토링 - Sort (0) | 2022.07.28 |
SpringDataJPA정렬기능 심화! @Formula ★★★★★ (0) | 2022.07.27 |
tip. 인텔리제이 Local History 기능 (0) | 2022.07.27 |
다른 사용자의 데이터 접근 불가 처리 (0) | 2022.07.26 |