J'ai une liste de catégorie. J'ai besoin d'une liste de catégorie en excluant 2,3 rangée. Pouvons-nous atteindre via hibernate en utilisant des critères et des restrictions?Comment réaliser "pas dedans" en utilisant Restrictions et critères dans Hibernate?
38
A
Répondre
83
Votre question n'est pas très claire. Si l'on suppose « Catégorie » est une entité racine et « 2,3 » sont ids (ou les valeurs de certains biens de la catégorie "), vous pouvez les exclure en utilisant les éléments suivants:
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})
)
);
La même chose peut être fait avec DetachedCriteria
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();
Cela fonctionne ... Merci ChssPly76 .. – Shashi