hql 转化为 sql ,满足仅仅用hibernate无法实现的sql构建

如下方法能将hql转换为sql,便于在系统总体是用hibernate查询的情况下,加入一些特殊查询条件的sql语句,满足仅仅用hibernate无法实现的sql构建。 

protected String hqlToSql(String hql,
   org.hibernate.SessionFactory sessionFactory) throws Exception {
  org.hibernate.hql.ast.QueryTranslatorImpl queryTranslator = new org.hibernate.hql.ast.QueryTranslatorImpl(
    hql, hql, java.util.Collections.EMPTY_MAP,
    (org.hibernate.engine.SessionFactoryImplementor) sessionFactory);

  queryTranslator.compile(java.util.Collections.EMPTY_MAP, false);

  return queryTranslator.getSQLString();
 }


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。