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

标签 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;

有谁知道如何正确地做到这一点,我已经尝试了很长时间来纠正它。 提前致谢。

最佳答案

我认为您的问题的替代方法是使用带有 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;
}

关于java - hibernate 选择不同的值按一个值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20894009/

相关文章:

java - Apache poi 多行项目符号点可以工作,但不能多段落?

java - 试图获得未售出的批处理

java - 以编程方式居中 WebView

php - Webmatrix 显示空白页

mysql - 从具有零值的单个表返回多列结果

java - Vaadin:如何以编程方式在 TAB 按钮上执行 KeyPressEvent?

php - 选择除查询中两个表中匹配的行之外的所有行

c# - 如何在数据库查询中使用整数?

sql - 查询中的 Oracle 字符串比较

sql - 检索连续行之间具有最小时间间隔的 ID