为查询创建标准

时间:2016-11-03 10:11:47

标签: postgresql hibernate hql criteria

我在表格中有很多行,其格式如下:

id  name localSize  city      country

1    Robert  12     NY         USA
2    Bill    12     California USA
3    Artem   12     Kiev       Ukraine

是否有可能只从localSize 唯一(第一个和最后一个)的表中获取一行?使用来自休眠的标准或其他东西。

1 个答案:

答案 0 :(得分:1)

您可以按照以下方法获取第一行或最后一行。

public List<YourClass> getList() {
    List<YourClass> list = new ArrayList<YourClass>();
    Criteria subCriteria = session.createCriteria(YourClass.class);
    subCriteria.setProjection(Projections.groupProperty("localSize"));
    subCriteria.setProjection(Projections.min("id"));
    List<Integer> mins = subCriteria.list();

    Criteria criteria = session.createCriteria(YourClass.class);
    criteria.add(Restrictions.in("id", mins));
    list = criteria.list();
    return list;
}