【问题标题】:Hibernate 5.2.5.Final createSQLQuery() method deprecated不推荐使用 Hibernate 5.2.5.Final createSQLQuery() 方法
【发布时间】:2017-05-03 03:13:40
【问题描述】:

我在 Hibernate 中使用createSQL() 方法在我的数据库中进行插入操作。

我想要做的是声明一个自定义 SQL 语句,以便我可以将 MD5() 函数应用于表上的字段。这就是为什么我不能简单地使用save(Object) 方法。

我收到来自 Eclipse IDE 的警告,上面写着: The method createSQLQuery(String) from the type QueryProducer is deprecated.

尽管如此,插入操作仍按预期执行。

我在项目中使用的当前 Hibernate 版本是 5.2.5.Final。

所以,问题是:有没有其他方法可以在这个版本的 Hibernate 中实现同样的效果,以摆脱那个烦人的警告?

我也知道添加@SuppressWarnings("deprecation") 注释会解决问题,但我不确定它是否会在未来引起任何问题。

值得一提的是,我是一个使用这个框架的初学者。

【问题讨论】:

    标签: java sql eclipse hibernate


    【解决方案1】:

    已弃用的QueryProducer.createSQL(String) 的 javadoc 描述了改用什么:

    已弃用。 (自 5.2 起)改用 createNativeQuery(String)
    为给定的 SQL 查询字符串创建一个 NativeQuery 实例。

    只添加@SuppressWarnings("deprecation") 通常不是一个好主意, 因为你将来可能会遇到问题;即当您移动到更新的 Hibernate 版本时,现在已弃用的方法将被删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-19
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2011-12-13
      相关资源
      最近更新 更多