【问题标题】:how can convert hql to sql in hibernate 4如何在hibernate 4中将hql转换为sql
【发布时间】:2017-01-20 19:26:36
【问题描述】:

我有在 hibernate 3 中将 hql 转换为 sql 的方法。但是在升级到 hibernate 4 后,我得到了该方法的第 5 个参数的异常。

    public String toSql(String hqlQueryText) {
        if (hqlQueryText != null && hqlQueryText.trim().length() > 0) {
            QueryTranslatorFactory translatorFactory = new ASTQueryTranslatorFactory();
            SessionFactoryImplementor factory = (SessionFactoryImplementor) sessionFactory;
            QueryTranslator translator = translatorFactory.createQueryTranslator(hqlQueryText, hqlQueryText, Collections.EMPTY_MAP, factory,**????**);
            translator.compile(Collections.EMPTY_MAP, false);
            return translator.getSQLString();
        }
        return null;
    }

我该如何解决这个问题??

【问题讨论】:

  • 为什么会这样?那你最好只写sql
  • 因为我希望这段代码从具有 group by 的 hql 中获取 count(*)。使用您的解决方案我将编写两次代码 hql 和 sql

标签: java hibernate hql hibernate-4.x


【解决方案1】:

第 5 个参数可能为空,正如您在某些 unit tests from hibernate source code 上看到的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多