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

15

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

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

我从Eclipse IDE收到了一个警告,它说:QueryProducer类中的createSQLQuery(String)方法已被弃用。

尽管如此,插入操作的执行效果还是符合预期的。

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

那么,问题是:在这个Hibernate版本中是否有另一种方法来实现相同的功能,以消除这个烦人的警告?

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

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

1个回答

29

已过时的 QueryProducer.createSQL(String) 的 javadoc 描述了应该使用什么代替:

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

通常添加 @SuppressWarnings("deprecation") 并不是一个好办法,因为在未来可能会出现问题;比如当您转移到一个新的 Hibernate 版本时,现在已弃用的方法将被删除。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接