Это, я думаю, глупый вопрос, но я на несколько дней застрял на нем. У меня есть объект со свойством List of strings, как показано ниже:
public class DummyEntity {
@Id
@GeneratedValue
private Long id;
private String name;
@ElementCollection
private List<String> items;
}
Я использую Spring Data JPA и wi sh для запроса этого объекта и извлечения из объектов базы данных, которые имеют точный набор элементов в этом списке массива. Это означает, что если у меня есть в моей базе данных:
DummyEntity (1, "name1", ["first"])
DummyEntity (1, "name1", ["first", "second"])
DummyEntity (1, "name1", ["first", , "second", "third"])
мне нужен запрос, в котором я передаю то есть [«первый», «второй»] (порядок строк не имеет значения), и я получаю только DummyEntity (1, «name1», [«первый», «второй»]). Я знаю, что могу сделать это с помощью java, но я бы ненавидел это как работу.
Я сделал для цели вопроса: демонстрационный проект github где у меня минимальный проект с провальным тестом, который мне нужен для успеха. Я пробовал следующее:
Page<DummyEntity> findAllByItemsIn(Pageable pageable,List<String> items);
Page<DummyEntity> findAllByItemsContains(Pageable pageable,List<String> items);
Page<DummyEntity> findAllByItemsEquals(Pageable pageable,List<String> items);
Page<DummyEntity> findAllByItems(Pageable pageable,List<String> items);