Пример #1
0
 public void addToQuery(
     EnversService enversService,
     AuditReaderImplementor versionsReader,
     String entityName,
     QueryBuilder qb,
     Parameters parameters) {
   String propertyName =
       CriteriaTools.determinePropertyName(
           enversService, versionsReader, entityName, propertyNameGetter);
   CriteriaTools.checkPropertyNotARelation(enversService, entityName, propertyName);
   parameters.addWhereWithParams(propertyName, "in (", values, ")");
 }
  public void addToQuery(
      AuditConfiguration auditCfg, String entityName, QueryBuilder qb, Parameters parameters) {
    String propertyName = propertyNameGetter.get(auditCfg);

    RelationDescription relatedEntity =
        CriteriaTools.getRelatedEntity(auditCfg, entityName, propertyName);

    if (relatedEntity == null) {
      parameters.addWhereWithParam(propertyName, op, value);
    } else {
      if (!"=".equals(op) && !"<>".equals(op)) {
        throw new AuditException(
            "This type of operation: "
                + op
                + " ("
                + entityName
                + "."
                + propertyName
                + ") isn't supported and can't be used in queries.");
      }

      Object id = relatedEntity.getIdMapper().mapToIdFromEntity(value);

      relatedEntity.getIdMapper().addIdEqualsToQuery(parameters, id, propertyName, "=".equals(op));
    }
  }