2016-11-30 127 views
0

我试图重写查询使用选定的对象:在休眠条件限制

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

有了一个Hibernate的标准为:

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

,但我得到的Hibernate异常说:

'user' field is not found in UserImpl entity 

我明白这个例外,但我找不到如何使用/指定所选对象的“用户”别名的方式它在标准限制中可用。

预先感谢您。

回答

0

这里你必须给列/字段不是(Restrictions.in(“用户”),它将搜索在UserImpl领域的用户,它不会找到,这就是为什么它是给错误

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

+0

感谢您的响应,但是这是不是一个完整的答案,我理解字段的问题,但在我的文本查询中,我可以陈述“从UserImpl中选择**用户**”,并使用该“用户”表达式“** user ** not in(:受影响的人)“。我想知道如何做同样的我n条件表达式,因为我没有UserImpl中的affectedPersons字段。 – Ruslanas