У меня есть эта привязка, которая обычно содержит для значений, которые передаются через URL, получить параметры / запросы, потому что для поиска всех атрибутов мне не нужно точно равное значение:
bindings.bind(String.class)
.first((SingleValueBinding<StringPath, String>) StringExpression::containsIgnoreCase);
Затем я применяю привязка переопределения для исключительных случаев, когда я хочу точное значение attibute, используя этот код впоследствии:
bindings.bind(entity.createdBy).all((path, value) -> Optional.of(path.in(value)));
, который работает как ожидалось (созданная строка является строкой, поэтому вторая привязка, которая точно совпадает с запросом переопределяет первый, который содержит запрос в строке).
Но когда я применяю это переопределение к атрибуту SethPath (список / набор) (бывшие пользователи), я использую any (), а затем строковый атрибут для ex , username, он не переопределяет первую привязку строки:
bindings.bind(entity.someAttribbute.users.any().username).all((path, value) -> Optional.of(path.in(value)));
Этот атрибут Set, используемый с any (), чтобы я мог получить его дочерний атрибут String username, не работает.
Могу ли я добиться того же эффекта в первом примере для второго, передавая атрибут Set в его строку?
Я мог бы удалить привязку firs и сделать это для каждого поля / атрибута, но мне хотелось бы мой способ работы для Set, как в первом примере, который работает.
Кто-нибудь может мне помочь?