Example usage for org.hibernate.criterion Criterion toSqlString

List of usage examples for org.hibernate.criterion Criterion toSqlString

Introduction

In this page you can find the example usage for org.hibernate.criterion Criterion toSqlString.

Prototype

public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException;

Source Link

Document

Render the SQL fragment

Usage

From source file:corner.orm.hibernate.expression.NewExpressionExample.java

License:Apache License

/**
 * @see org.hibernate.criterion.Example#appendPropertyCondition(java.lang.String,
 *      java.lang.Object, org.hibernate.Criteria,
 *      org.hibernate.criterion.CriteriaQuery, java.lang.StringBuffer)
 *///  w w w.  j  av  a  2 s.  c o m
@Override
protected void appendPropertyCondition(String propertyName, Object propertyValue, Criteria criteria,
        CriteriaQuery cq, StringBuffer buf) throws HibernateException {
    Criterion crit;
    if (propertyValue != null) {
        boolean isString = propertyValue instanceof String;
        QueryType qt = this.worker.getQueryTypeByPropertyName(propertyName);
        if (qt == QueryType.Date) {//
            crit = new DateExpression(propertyName, (String) propertyValue);
        } else if (qt == QueryType.String || isString) {//
            String op = isLikeEnabled && isString ? " like " : "=";

            crit = new StringExpression(propertyName, propertyValue.toString(), op,
                    isIgnoreCaseEnabled && isString);
        } else {//
            crit = Restrictions.eq(propertyName, propertyValue);
        }
    } else {
        crit = Restrictions.isNull(propertyName);
    }
    String critCondition = crit.toSqlString(criteria, cq);
    if (buf.length() > 1 && critCondition.trim().length() > 0)
        buf.append(" and ");
    buf.append(critCondition);

}

From source file:gov.nih.nci.cabig.ctms.tools.hibernate.MoreRestrictionsTest.java

License:BSD License

private String criterionSql(Criterion criterion) {
    return criterion.toSqlString(null, criteriaQuery);
}

From source file:org.iternine.jeppetto.dao.hibernate.HibernateQueryModelDAO.java

License:Apache License

private List<TypedValue> buildWhereClause(StringBuilder queryStringBuilder, QueryModel queryModel,
        Criteria criteria, CriteriaQueryTranslator criteriaQueryTranslator) {
    List<TypedValue> parameters = new ArrayList<TypedValue>();

    queryStringBuilder.append(" where ");

    if (queryModel.getConditions() != null) {
        for (Condition condition : queryModel.getConditions()) {
            Criterion criterion = (Criterion) condition.getConstraint();

            queryStringBuilder.append(criterion.toSqlString(criteria, criteriaQueryTranslator));
            queryStringBuilder.append(" and ");

            parameters.addAll(Arrays.asList(criterion.getTypedValues(criteria, criteriaQueryTranslator)));
        }/* w  ww  . j  a v a2 s . c  o  m*/
    }

    if (queryModel.getAssociationConditions() != null) {
        for (Map.Entry<String, List<Condition>> associationCriteriaEntry : queryModel.getAssociationConditions()
                .entrySet()) {
            CriteriaImpl.Subcriteria associationCriteria = (CriteriaImpl.Subcriteria) criteriaQueryTranslator
                    .getCriteria(associationCriteriaEntry.getKey());

            for (Condition condition : associationCriteriaEntry.getValue()) {
                Criterion criterion = (Criterion) condition.getConstraint();

                queryStringBuilder.append(criterion.toSqlString(associationCriteria, criteriaQueryTranslator));
                queryStringBuilder.append(" and ");

                parameters.addAll(
                        Arrays.asList(criterion.getTypedValues(associationCriteria, criteriaQueryTranslator)));
            }
        }
    }

    queryStringBuilder.append(" ace.objectType = '");
    queryStringBuilder.append(persistentClass.getSimpleName());
    queryStringBuilder.append("' and ace.objectId = ");
    queryStringBuilder.append(criteriaQueryTranslator.getRootSQLALias());
    queryStringBuilder.append('.');
    queryStringBuilder.append(idField);
    queryStringBuilder.append(" and ace.accessibleBy = ? ");

    return parameters;
}