Как найти подстроку через CrudRepository

215
23 апреля 2022, 21:10

Необходимо написать метод, который ищет содержание заданной подстроки в поле. Если использовать просто findByContent (к примеру) то ищется полное совпадение, когда как в моем случае, необходимо найти contains а не equals.

public interface EntryRepo extends CrudRepository<Entry, Integer> {
List<Entry> findByContent(String content);
List<Entry> findByTitle(String title);
List<Entry> findById(int id);

}

Answer 1

Если вы используете Spring Data JPA, то для создания нужного вам запроса из имени метода, нужно использовать такие ключевые слова как StartingWith, EndingWith и Containing. Т.е. ваш метод будет следующим:

List<Entry> findByContentContaining(String partOfContent);

StartingWith соответствует SQL where content like partOfContent%

EndingWith соответствует SQL where content like %partOfContent

Containing соответствует SQL where content like %partOfContent%

У Spring хорошая документация и обо всех ключевых словах для создания запросов из методов вы можете узнать из документации. Гуглить одно из самых важных умений программиста =)

Answer 2

Напишите свой запрос

@Query("SELECT * FROM Table WHERE name LIKE %:key% OR desc LIKE %:key%", nativeQuery = true)
List<Entry> findByKeyword(@Param("key") String key);

Что то в этом духе

READ ALSO
MYSQL - Не верно сортирует

MYSQL - Не верно сортирует

Такая проблема, база данных mysql не верно сортирует запрос, может кто сможет подсказать в чём дело ? Скрин приложу ниже

229
Не распознается база данных newDB.sql Error: 1049

Не распознается база данных newDB.sql Error: 1049

Я уже задавал этот вопрос, но кто-то кликнул -1Прошу этого не делать, не вникнув в вопрос

255
Как объединить ограничения CHECK в SQL?

Как объединить ограничения CHECK в SQL?

Есть следующая таблица:

261
Какие существуют походы для интеграции Docker-контейнера и инкрементальной сборки FullStack-проекта с серверной частью на NodeJS?

Какие существуют походы для интеграции Docker-контейнера и инкрементальной сборки FullStack-проекта с серверной частью на NodeJS?

Если проект написан целиком на JavaScript (серверная часть - на NodeJS), HTML и CSS, то нужда в разделении на исходные и выходные файлы отсутствуетМогу...

235