Создание запроса / предиката, в котором содержимое столбца (в моем случае набор строк) начинается с заданной строки, очень просто:
public static <E> Predicate stringBeginsWithAnyInSet(String match, SetAttribute<E, String> setAttribute,
CriteriaBuilder criteriaBuilder, Root<E> root) {
SetJoin<E, String> setJoin = root.join(setAttribute);
return criteriaBuilder.like(setJoin, match + "%");
}
, но мне нужно наоборот заданная строка должна начинаться со значения в столбце - в моем случае с хотя бы одним значением.
Проблема
criteriaBuilder.like( match + "%", setJoin);
не компилируется.
Как выполнить запрос и не изменять подпись предиката - данная строка известна, и предикат должен содержать ее.