从Hibernate查询返回的具有null元素的非空列表

时间:2010-05-06 06:31:02

标签: java hibernate sybase

我是hibernate的新手,所以不确定这是否是预期的行为,无论如何:

Session session = (Session)entityManager.getDelegate();
Criteria criteria = session.createCriteria(myRequest.class);
criteria.add(Restrictions.eq("username", username));
criteria.setProjection(Projections.max("accesscount"));
List<myRequest> results = criteria.list();

返回的结果是一个非空列表,其中包含一个null元素。

我想不出为什么它应该以这种方式行事的任何理由,任何想法,如果这是预期的行为或我做错了什么?

系统处于休眠状态/ Syabse。

感谢。

1 个答案:

答案 0 :(得分:3)

如果用户具有该访问权限列中具有非空值的用户名,则会感到惊讶。您的返回类型让人相信您正在尝试获取具有max accesscount的myRequest实例?这不是那个查询的作用。该查询等同于

select max(m.accesscount) from myRequest m where m.username = :username

它只是(试图)返回一个数字,而不是myRequest。

相关问题