【发布时间】:2014-01-20 13:17:34
【问题描述】:
我想从我的数据库中获取不同的值。
我在这个数据库中有 10 个字段,当我尝试使用这样的查询时:
SELECT DISTINCT (IMIE)FROM `przychodzace`
我得到 26 个结果,但休眠返回我只有 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;
有谁知道如何正确地做到这一点,我正在尝试纠正它很长时间。 提前致谢。
【问题讨论】:
-
您能否提供更多关于 IMIE 列中的内容的信息。返回的 sql 中的 26 个值和 hibernate 中的 17 个值是什么?此外,hibernate 可能会将您的查询与另一个限制您的结果的表连接起来。您可能会查看原始 SQL 输出并了解查询是什么。
-
i的值是多少?