目的是获得具有特定ID的某些实体。我想创建一个将使用实体ID并根据ID返回实体列表的vararg方法:
@Override
public List<Entity> getEntities(long... ids) {
Session s = sessionFactory.getCurrentSession();
s.beginTransaction();
Criteria criteria = s.createCriteria(Entity.class);
for (long id : ids) {
// for very id I want to create a Restriction
// but Restriction goes like
// criteria.add(Restrictions.or(Restrictions.eq("id", id),Restrictions.eq("id", id)));
}
s.getTransaction().commit();
return null;
}
用法将是:
List<Entity> list = getEntities(453,282,781,784);
如何创建这样的条件查询?
OR id = ?
子句的可变数量类似于IN子句。使用以下Restrictions.in
方法完成此操作:
criteria.add(Restrictions.in("id", ids));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句