创建查询/谓词很容易,其中列的内容(在我的情况下是一组字符串)以给定的字符串开头:
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);
未编译。
如何实现查询而不更改谓词签名-给定的字符串是已知的,谓词应包含它。
您写道: