Java 休眠按一个值的顺序选择不同的值
我想从数据库中获取不同的值。 我在这个数据库中有10个字段,当我尝试使用这样的查询时: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
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输出,看看查询是什么?