Ich habe eine Liste der Kategorie. Ich brauche eine Liste der Kategorie, indem ich 2,3 Zeile ausschließe. Können wir durch die Verwendung von Kriterien und Einschränkungen den Ruhezustand erreichen?Wie erreichen Sie "nicht in" mithilfe von Einschränkungen und Kriterien in Hibernate?
38
A
Antwort
83
Ihre Frage ist etwas unklar. Unter der Annahme, „Kategorie“ ist eine Root-Entität und „2,3“ ist ids (oder Wert einer Eigenschaft der Kategorie ") können Sie sie mit den folgenden ausschließen.
Criteria criteria = ...; // obtain criteria from somewhere, like session.createCriteria()
criteria.add(
Restrictions.not(
// replace "id" below with property name, depending on what you're filtering against
Restrictions.in("id", new long[] {2, 3})
)
);
Samt mit DetachedCriteria
getan werden kann
1
Session session=(Session) getEntityManager().getDelegate();
Criteria criteria=session.createCriteria(RoomMaster.class);
//restriction used or inner restriction ...
criteria.add(Restrictions.not(Restrictions.in("roomNumber",new String[] { "GA8", "GA7"})));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<RoomMaster> roomMasters=criteria.list();
Es funktioniert ... Danke ChssPly76 .. – Shashi