在Hibernate条件限制中使用所选对象

时间:2016-11-30 08:51:38

标签: java hibernate hibernate-criteria

我正在尝试重写一个查询:

select user from UserImpl as user where user not in (:affectedPersons)

使用Hibernate Criteria:

createCriteria(UserImpl.class, "user").add(Restrictions.not(Restrictions.in("user", affectedPersons))));

但我得到Hibernate异常说:

'user' field is not found in UserImpl entity

我理解异常,但我无法找到如何使用/指定用户'所选对象的别名,使其在条件限制中可用。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

这里你必须给出Column / field(Restrictions.in(“user”),它将在UserImpl中搜索它找不到的字段用户。这就是它给出错误的原因

标准条件= session.createCriteria(UserImpl.class,“user”); criteria.add(Restrictions.not(Restrictions.in(“nameOfFieldInWhichYouAreStoringAffectedPersons”,affectedPersons)));