public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb) { return cb.equal(root.type(), clazz); } };
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb) { return cb.equal(root.type(), clazz); } };
protected final <T extends Comparable<T>> Predicate createTypePredicate(String clazz, Root<?> root, CriteriaBuilder cb) { if (clazz != null) { try { return cb.equal(root.type(), Class.forName(clazz)); } catch (ClassNotFoundException e) { LOGGER.warn("Problem creating type filter", e); } } return null; }
@Override public Expression<Class<? extends X>> type() { return getWrapped().type(); }
@Override public Login asWechat(String openId) { return loginRepository.findOne((root, query, cb) -> cb.and(cb.equal(root.get("wechatUser").get("openId"), openId) , cb.notEqual(root.type(), Manager.class)) ); }
@Override protected List<Selection<?>> getAggregations(Map<Expression<?>, String> paths, Root<CocosUserAuditEntryBase> root, CriteriaBuilder cb) { return Arrays.asList( cb.count(cb.selectCase().when(cb.equal(root.type(), CocosUserLoginAuditEntry.class), 1).otherwise(cb.nullLiteral(Long.class))).alias("login"), cb.count(cb.selectCase().when(cb.equal(root.type(), CocosUserHttpAuditEntry.class), 1).otherwise(cb.nullLiteral(Long.class))).alias("http")); }
conjunction = builder.and(conjunction, builder.equal(root.type(), builder.literal(Place.class))); break; case VENUE: conjunction = builder.and(conjunction, builder.equal(root.type(), builder.literal(Venue.class))); break; case LOCATION: conjunction = builder.and(conjunction, builder.equal(root.type(), builder.literal(Location.class))); if (!categories.isEmpty())
@Override public Specification<Login> specification() { // root 是不可见,也不可以编辑的 return (root, query, cb) -> { Predicate predicate = cb.and(cb.notEqual(root.get(Login_.loginName), "root") , cb.notEqual(root.type(), Manager.class) ); if (!StringUtils.isEmpty(name)) { predicate = cb.and( predicate , cb.or( cb.like(root.get(Login_.loginName), "%" + name + "%") , cb.like(ReadService.nameForLogin(root, cb), "%" + name + "%") , cb.like(ReadService.mobileForLogin(root, cb), "%" + name + "%") ) ); } return predicate; }; } };
builder.and( builder.equal(root.get("owner"), "Vlad"), builder.equal(root.type(), sublcass)
builder.and( builder.equal(root.get("owner"), "Vlad"), builder.equal(root.type(), sublcass)
.where( cb.notEqual(root.type(), Manager.class)
@Override protected Expression<?> mapColumn(Root<CocosUserQueryBase> root, ReportRequestColumn column) { switch (column.getName()) { case "type": return root.type(); case "domain": return createPath("user.domain.domainName", root, true); case "userRole": return createPath("user.authorities.authority", root, true); default: for (ReportColumnDefinition defCol : definition.getColumns()) { if (defCol.getName().equals(column.getName())) { return createPath(defCol.getDataProvider().getPath(), root, true); } } throw new CocosStatisticsConfigurationException(column.getName()); } }