2016-11-30 4 views
0

ich eine Abfrage neu zu schreiben versuchen:Mit ausgewähltem Objekt in Hibernate Kriterien Einschränkung

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

Mit einem Hibernate Kriterien:

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

Aber ich Hibernate Ausnahme sagen:

'user' field is not found in UserImpl entity 

Ich verstehe die Ausnahme, aber ich kann nicht den Weg finden, wie man 'Benutzer' Alias ​​des ausgewählten Objekts zu verwenden/angeben es ist in der Kriterienbeschränkung verfügbar.

Vielen Dank im Voraus.

Antwort

0

Hier haben Sie die Spalte/Feld geben nicht (Restrictions.in („user“), wird es für das Feld Benutzer in UserImpl suchen, die es nicht finden. Deshalb ist es Fehler geben

Kriterien Kriterien = session.createCriteria (UserImpl.class, "user"); criteria.add (Restrictions.not (Restrictions.in ("nameOfFieldInWhichYouAreStoringAffectedPersons", affectedPersons)));

+0

Vielen Dank für Ihre Antwort, aber dies ist keine vollständige Antwort Ich verstehe das Problem eines Feldes, aber in meiner textuellen Abfrage kann ich sagen "Wähle aus UserImpl als ** Benutzer **" und benutze diesen "Benutzer" für Ausdruck "** Benutzer ** nicht in (: affectedPersons). "Ich frage mich, wie ich dasselbe machen soll n Kriterienausdruck, da ich im UserImpl kein Feld affectedPersons habe. – Ruslanas