我在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")
注释会解决问题,但我不确定它是否会在将来引起任何问题。
值得一提的是,我是使用此框架的初学者。
答案 0 :(得分:28)
已弃用的QueryProducer.createSQL(String)
的javadoc描述了要使用的内容:
已过时。 (自5.2起)使用
createNativeQuery(String)
代替 为给定的SQL查询字符串创建NativeQuery
实例。
添加@SuppressWarnings("deprecation")
通常不是一个好主意,
因为你将来可能会遇到问题;即,当您转移到较新的Hibernate版本时,将删除现已弃用的方法。