Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠按一个值的顺序选择不同的值_Java_Mysql_Sql_Hibernate - Fatal编程技术网

Java 休眠按一个值的顺序选择不同的值

Java 休眠按一个值的顺序选择不同的值,java,mysql,sql,hibernate,Java,Mysql,Sql,Hibernate,我想从数据库中获取不同的值。 我在这个数据库中有10个字段,当我尝试使用这样的查询时: SELECT DISTINCT (IMIE)FROM `przychodzace` 我得到26个结果,但hibernate只返回17个。。。 下面是列表函数: List<String> list = new ArrayList<String>(); SessionFactory sf = HibernateUtil.getSessionFactory(); S

我想从数据库中获取不同的值。 我在这个数据库中有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;
如果有人知道如何正确地做这件事,我正在努力纠正它很长一段时间。
提前感谢。

我认为解决您的问题的另一种方法是使用带有列表方法的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;
}

你能提供更多关于IMIE列的信息吗。从sql返回的26个值和从hibernate返回的17个值是什么?另外,hibernate可能会将您的查询与另一个限制您的结果的表连接起来。您可以查看原始SQL输出,看看查询是什么?