@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 Expression<String> attributeExpression1 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel1")));
final Expression<String> attributeExpression2 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel2")));
final Expression<String> attributeExpression3 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel3")));
final Expression<String> attributeExpression4 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel4")));
final Expression<String> attributeExpression5 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel5")));
final Expression<String> attributeExpression6 =
cb.lower(cb.function(UNACCENT, String.class, persoonAdressenRoot.get("buitenlandsAdresRegel6")));
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))));
final Predicate adresPredicate1 = cb.like(attributeExpression1, valueExpression);
final Predicate adresPredicate2 = cb.like(attributeExpression2, valueExpression);
final Predicate adresPredicate3 = cb.like(attributeExpression3, valueExpression);
final Predicate adresPredicate4 = cb.like(attributeExpression4, valueExpression);
final Predicate adresPredicate5 = cb.like(attributeExpression5, valueExpression);
final Predicate adresPredicate6 = cb.like(attributeExpression6, valueExpression);
final Predicate buitenlandsAdres = cb.or(adresPredicate1, adresPredicate2, adresPredicate3, adresPredicate4, adresPredicate5, adresPredicate6);
return cb.and(joinPredicateAdressen, buitenlandsAdres);
}
PersoonFilterFactory.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:OperatieBRP
作者:
评论列表
文章目录