Хранилище данных Spring, как запросить ElementCollection String, содержащий подстроку - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть объект с @ElementCollection строками:

@ElementCollection(fetch = FetchType.EAGER)
private Set<String> names;

Хотя запрос по именам не составляет проблем:

List<MyEntity> findByNames(String name);

Кажется, что не работает, если япопробуйте создать метод с «содержит».Я хочу найти сущности, которые имеют совпадающее имя, которое содержит данную подстроку:

List<MyEntity> findByNamesContains(String substringOfname);

Это не дает результатов, но также и не содержит ошибок.Кажется, что ключевое слово «содержит» здесь интерпретируется как список имен должен содержать.Если я изменю его на

List<MyEntity> findByNamesContains(List<String> substringOfname);

Этот метод работает.

Мой вопрос: существует ли комбинация ключевых слов, чтобы получить метод, который возвращает все объекты, имена которых соответствуют данной подстроке??

Если нет, то как будет выглядеть JPQL-запрос?

1 Ответ

0 голосов
/ 09 апреля 2019

В случае одной строки используйте , содержащее ключевое слово . Работает так же, как «like» в SQL-запросах.

Ссылка: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#_supported_query_keywords

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...