3

Я пытаюсь использовать пружину PagingAndSortingRepository с find MyEntity where field in fieldValues запроса следующим образом:Хранилища Spring Data - Найти, где поле в списке

@Repository 
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> { 

    List<MyEntity> findByMyField(Set<String> myField); 

} 

Но без успеха.

Я ожидал, что вышеуказанная функция вернет все объекты, поля которых соответствуют одному из значений поля, но возвращает только пустые результаты.

Несмотря на то, что это похоже на довольно прямолинейную способность, я не мог найти ссылку на нее в docs.

Is/Как это может быть достигнуто?

Спасибо.

ответ

4

Это действительно действительно возможно, если вы ищете в определенном поле внутри своего объекта и хотите вернуть список всего этого поля, по крайней мере, одну запись в какой-либо коллекции. Документация here говорит, что это может быть достигнуто, используя пример ключевого слова In: findByAgeIn(Collection<Age> ages) и эквивалентно … where x.age in ?1

С вашего поста я не уверен на 100%, если это использование случае вы после, но дать этому попытку. Вам нужно будет искать в определенном поле, поэтому замените «поле» на любое поле, в котором вы ищете. Если вы выполняете поиск по нескольким полям, может быть возможно объединить результаты с помощью ключевого слова Or и указать несколько полей таким образом.

@Repository 
public interface MyEntity extends PagingAndSortingRepository<MyEntity, String> { 

    List<MyEntity> findByFieldIn(Set<String> myField); 

} 
Смежные вопросы