Example usage for org.hibernate.hql.internal.ast QueryTranslatorImpl QueryTranslatorImpl

List of usage examples for org.hibernate.hql.internal.ast QueryTranslatorImpl QueryTranslatorImpl

Introduction

In this page you can find the example usage for org.hibernate.hql.internal.ast QueryTranslatorImpl QueryTranslatorImpl.

Prototype

public QueryTranslatorImpl(String queryIdentifier, String query, Map enabledFilters,
        SessionFactoryImplementor factory) 

Source Link

Document

Creates a new AST-based query translator.

Usage

From source file:com.heimaide.server.common.persistence.BaseDao.java

License:Open Source License

/**
 * hql??sql?,?/* www .  jav a2s . c o m*/
 *
 * @param hql ??hql?
 * @return ?sql?, null, ?getResultMsg()??
 */
public String transHqlToSql(String hql) {
    // ??session
    // session
    SessionFactoryImpl sfi = (SessionFactoryImpl) sessionFactory;
    // Query?
    QueryTranslatorImpl queryTranslator = new QueryTranslatorImpl(hql, hql, Collections.EMPTY_MAP, sfi);
    queryTranslator.compile(Collections.EMPTY_MAP, false);
    // sql
    String sql = queryTranslator.getSQLString();
    // session
    return sql;
}

From source file:com.myapp.core.base.dao.impl.AbstractBaseDao.java

protected long getCount(Session session, String hql, Object[] params) throws QueryException {
    QueryTranslatorImpl queryTranslator = new QueryTranslatorImpl(hql, hql, Collections.EMPTY_MAP,
            (SessionFactoryImplementor) getSessionFactory());
    queryTranslator.compile(Collections.EMPTY_MAP, false);
    String sql = queryTranslator.getSQLString();
    String s = "select count(*) from (" + sql + ") t";
    Query query = session.createSQLQuery(s);
    return (long) ((Number) initHqlParams(query, params).uniqueResult()).longValue();
}