已弃用的setParameter(String name,Object val,Type type)的替代品

时间:2016-07-26 19:47:22

标签: java hibernate

由于Hibernate 5.2 Query<R>.setParameter(String name, Object val, Type type)已被弃用,而javadoc表示要使用org.hibernate.query.Query

我这样做了:

org.hibernate.query.Query<String> q = s.createQuery("select f from Foo f where f.bar = :bar", String.class);
q.setParameter("bar", "bar", org.hibernate.type.StringType.INSTANCE);

我的Eclipse仍然抱怨.setParameter(已被弃用。

关于如何在将参数绑定到Query时覆盖类型的任何想法?

1 个答案:

答案 0 :(得分:7)

如果您看到org.hibernate.Query的类javadoc,您会注意到整个接口合同已弃用,并替换为新的org.hibernate.query.Query合同。

org.hibernate.query.Query中的新查询合同也有其等价物:

Query<R> setParameter(String name, Object value, Type type);

更新

在5.2.1.Final版本中修复了记录HHH-10839的问题。该修复程序将此方法添加回org.hibernate.query.Query合同。