hibernate选择不同的值按一个值排序

时间:2014-01-02 23:40:44

标签: java mysql sql hibernate

我想从我的数据库中获取不同的值 我在这个数据库中有10个字段,当我尝试使用这样的查询时:

SELECT DISTINCT (IMIE)FROM `przychodzace`

我得到了26个结果,但是hibernate只给我17个回复...... 这是列表功能:

    List<String> list = new ArrayList<String>();
    SessionFactory sf = HibernateUtil.getSessionFactory();
    Session session = sf.openSession();
    Criteria criteria = session.createCriteria(PrzychodzaceModel.class);
    if (i == 0) {
        criteria.setProjection(Projections.distinct(Projections.property("imie")));
        criteria.addOrder(Order.asc("imie"));
    }
    list = criteria.list();
    System.out.println(list.size() + "size");
    return list;

有人知道如何正确地做到这一点,我试图纠正它很长一段时间。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您的问题的替代方法是使用带有List方法的DAO类,例如:

public List listMenu() {
    String hql = "FROM Menu";
    org.hibernate.Query query = session.getCurrentSession().createQuery(hql);
    query.setFirstResult(0);
    query.setMaxResults(5);
    List results = query.list();
    return results;
}