List of usage examples for org.hibernate.hql.internal.ast QueryTranslatorImpl QueryTranslatorImpl
public QueryTranslatorImpl(String queryIdentifier, String query, Map enabledFilters,
SessionFactoryImplementor factory)
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(); }