@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like().value(value).noEscape(); } }
@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like().value(value).noEscape(); } }
@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like(false).value(value).noEscape(); } }
@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like(false).value(value).noEscape(); } }
@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like().value(value).noEscape(); } }
@Override public <T> T apply(RestrictionBuilder<T> rb) { return rb.like(false).value(value).noEscape(); } }
private void prepareWhere(CriteriaBuilder<?> cb, E example, List<Property<Object>> properties, boolean useLikeOperator) { Iterator<Property<Object>> iterator = properties.iterator(); while (iterator.hasNext()) { Property<Object> property = iterator.next(); String name = property.getName(); if (useLikeOperator && property.getJavaClass().getName().equals(String.class.getName())) { cb.where(name).like(false).value(property.getValue(example)).noEscape(); } else { cb.where(name).eq(property.getValue(example)); } } }
private void prepareWhere(CriteriaBuilder<?> cb, E example, List<Property<Object>> properties, boolean useLikeOperator) { Iterator<Property<Object>> iterator = properties.iterator(); while (iterator.hasNext()) { Property<Object> property = iterator.next(); String name = property.getName(); if (useLikeOperator && property.getJavaClass().getName().equals(String.class.getName())) { cb.where(name).like(false).value(property.getValue(example)).noEscape(); } else { cb.where(name).eq(property.getValue(example)); } } }
@Override public <T> T findByName(String weblinkGroupName, String prefix, Integer limit, String marker, EntityViewSetting<T, ? extends QueryBuilder<T,?>> setting) { if (limit == null) { limit = 1000; } else if (limit > 1000) { throw new IllegalArgumentException("Limit may not exceed 1000!"); } try { CriteriaBuilder<WeblinkGroup> cb = cbf.create(em, WeblinkGroup.class) .where("id").eq(weblinkGroupName); if (prefix != null && !prefix.isEmpty()) { cb.where("links.id.name").like().value(prefix.replaceAll("%", "\\%") + "%").escape('\\'); } if (marker != null && !marker.isEmpty()) { cb.where("links.id.name").gt(marker); } // TODO: implement constraint and marker in query and also for passing into entity views setting.addOptionalParameter("prefix", prefix); setting.addOptionalParameter("constraint", limit); setting.addOptionalParameter("marker", marker); cb.setMaxResults(limit); return evm.applySetting(setting, cb).getSingleResult(); } catch (NoResultException ex) { return null; } }
cb.where("objects.id.name").like().value(prefix.replaceAll("%", "\\%") + "%").escape('\\');