38
我有类别列表。我需要排除2,3行的类别列表。我们可以通过使用标准和限制来实现休眠吗?如何通过在Hibernate中使用限制和条件来实现“不在”?
我有类别列表。我需要排除2,3行的类别列表。我们可以通过使用标准和限制来实现休眠吗?如何通过在Hibernate中使用限制和条件来实现“不在”?
你的问题有点不清楚。假定“分类”是根实体和“2,3”是IDS(或种类的某些属性的值“),您可以使用以下排除它们。
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})
)
);
同样可以用DetachedCriteria
做
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();
It works ... Thanks ChssPly76 .. – Shashi 2009-08-04 13:50:27