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

Gus*_*avo 4 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);
Run Code Online (Sandbox Code Playgroud)

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

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

Nar*_*ros 7

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

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

Query<R> setParameter(String name, Object value, Type type);
Run Code Online (Sandbox Code Playgroud)

UPDATE

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