创建自定义hibernate查询

时间:2017-09-05 13:03:20

标签: java hibernate

我正在尝试创建自定义查询, 但我的选择返回空结果。

this.getSession()
.createQuery("FROM com.dummy.tralala.MyClass AS test where test.name in (:labels)")
.setParameter("labels",myLabels).list()
;

出了什么问题?

当我这样做时

.createQuery("FROM com.dummy.tralala.MyClass AS test where test.name in ("+myLabelsString+")").list()

然后它工作正常。

1 个答案:

答案 0 :(得分:1)

如果要使用参数列表,请使用方法 setParameterList

this.getSession()
                .createQuery("FROM com.dummy.tralala.MyClass AS settings where settings.name in (:labels)")
                .setParameterList("labels",myLabels).list();

myLabels 可以是Collection或数组。