문제 상황

검색어로 검색요청시 검색어가 포함된 모든 데이터를 반환해야 하는 상황에서 기존 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

+ Recent posts