52

カテゴリのリストがあります。2,3行を除いたカテゴリのリストが必要です。CriteriaとRestrictionを使用してHibernateを介して達成できますか?

4

3 に答える 3

108

あなたの質問はやや不明確です。"Category" がルート エンティティで、"2,3" が ID (またはカテゴリのいくつかのプロパティの値) であると仮定すると、次を使用してそれらを除外できます。

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

于 2009-08-03T17:07:34.933 に答える
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();
于 2010-05-19T05:46:57.427 に答える