@Override
public Predicate toPredicate(final Root<?> persoonRoot, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
final Root<PersoonAdres> persoonAdressenRoot = query.from(PersoonAdres.class);
final Predicate joinPredicateAdressen = persoonRoot.get(ID).in(persoonAdressenRoot.get(PERSOON).get(ID));
final Predicate adresPredicate;
if (likePredicate) {
final Expression<String> attributeExpression = cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get(field)));
final Expression<String> valueExpression =
cb.lower(
cb.function(
UNACCENT,
String.class,
cb.concat(cb.concat(cb.literal(WILDCARD), cb.literal(value.toString())), cb.literal(WILDCARD))));
adresPredicate = cb.like(attributeExpression, valueExpression);
} else {
adresPredicate = cb.equal(persoonAdressenRoot.get(field), value);
}
return cb.and(joinPredicateAdressen, adresPredicate);
}
PersoonFilterFactory.java 文件源码
java
阅读 36
收藏 0
点赞 0
评论 0
项目:OperatieBRP
作者:
评论列表
文章目录