개발/Java&Kotlin

[JPA] LIKE 정리

devhooney 2022. 8. 24. 11:28
728x90

SpringData JPA를 사용하여 개발한 기능에서 에러가 발생

- 이유는 select되어야 하는 데이터가 2개 이상이라..

- 쿼리문이 where data like '%조건'을 원했는데 contains를 사용했더니 앞 뒤로 %가 붙었다.

- 이참에 정리해놓으려 한다.

 

Contains

- 파라미터로 사용되는 data변수에 자동으로 앞 뒤로 '%'가 붙어서 DB조회를 한다.

List<Data> dataList = findByDataContains(data);
List<Data> dataList = findByDataContaining(data);
List<Data> dataList = findByDataIsContaining(data);

 

Like

- 직접 파라미터에 '%'를 넣어주어야 한다.

List<Data> dataList = findByDataLike("%"+data+"%");

 

StartsWith

- 파라미터 뒤에 '%'가 붙는다.

List<Data> dataList = findByDataStartsWith(data);

 

EndsWith

- 파라미터 앞에 '%'가 붙는다. 이걸 사용해서 에러를 수정했다.

List<Data> dataList = findByDataEndsWith(data);

 

728x90