public String hql2Sql(String hql) {
if (sessionFactory != null && sessionFactory instanceof SessionFactoryImpl) {
SessionFactoryImpl sfi = (SessionFactoryImpl) sessionFactory;
Session session = sessionFactory.openSession();
if (session != null && session instanceof SessionImpl) {
SessionImpl si = (SessionImpl) session;
QueryTranslatorFactory qtf = sfi.getSettings().getQueryTranslatorFactory();
Map enableFilters = si.getEnabledFilters();
if (enableFilters == null) {
enableFilters = Collections.EMPTY_MAP;
}
FilterTranslator qt = qtf.createFilterTranslator(hql, hql, enableFilters, sfi);
qt.compile(enableFilters, false);
String sql = qt.getSQLString();
return sql;
}
}
return null;
}