例如,我试图只获取对象bob的id列表,而不是bob的列表。使用HQL请求是可以的,但我想知道是否可以使用条件?
举个例子:
final StringBuilder hql = new StringBuilder();
hql.append( "select bob.id from " )
    .append( bob.class.getName() ).append( " bob " )
    .append( "where bob.id > 10");
final Query query = session.createQuery( hql.toString() );
return query.list();发布于 2008-09-12 10:28:13
我认为你可以用投影来做到这一点,比如
Criteria.forClass(bob.class.getName())
        .add(Restrictions.gt("id", 10))
        .setProjection(Projections.property("id"))
        );发布于 2013-06-16 06:12:58
同样,您还可以:
Criteria criteria = session.createCriteria(bob.class);
criteria.add(Expression.gt("id", 10));
criteria.setProjection(Projections.property("id"));
criteria.addOrder(Order.asc("id"));
return criteria.list();发布于 2008-09-12 13:52:29
或setProjection(Projections.id())
https://stackoverflow.com/questions/58561
复制相似问题