带投影的Hibernate Criteria不会选择数据

时间:2017-01-11 00:26:21

标签: java hibernate hibernate-criteria

我正在使用Hibernate标准和投影来获得不同的值,如下所示:

Criteria criteria = this.getSession().createCriteria(CmError.class);

ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("router"));
projList.add(Projections.property("slot"));
criteria.setProjection(Projections.distinct(projList));

我使用结果Transformer with Projection来获取不同值的列表

List<CmError> cm =  criteria.setResultTransformer(Transformers.aliasToBean(CmError.class)).list();

我所看到的是列表的所有字段值都为空,而列表的大小是正确的,这意味着我期望从相同的不同SQL查询返回的记录数与CmError列表的大小相同但数据当我遍历列表时,内部列表没有填充并返回null。

不确定我错过了什么。

1 个答案:

答案 0 :(得分:2)

尝试将其更改为:

projList.add(Projections.property("router"), "router");
projList.add(Projections.property("slot"), "slot");