Hibernate 5.2.5.Final createSQLQuery()方法已弃用

时间:2016-12-17 14:02:35

标签: java sql eclipse hibernate

我在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")注释会解决问题,但我不确定它是否会在将来引起任何问题。

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

1 个答案:

答案 0 :(得分:28)

已弃用的QueryProducer.createSQL(String)的javadoc描述了要使用的内容:

  

已过时。 (自5.2起)使用createNativeQuery(String)代替   为给定的SQL查询字符串创建NativeQuery实例。

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