1

在休眠时投影:

 Criteria criteria = session.createCriteria(XYZ.class)
                    .add(Restrictions.eq("XYDId", 1)).add(Restrictions.eq("active", Boolean.TRUE));
criteria.setProjection(Projections.property("abc.id").as("id"));
            criteria.setProjection(Projections.property("abc.timezoneKey").as("TIMEZONEKEY"));
            criteria.setResultTransformer(Transformers.aliasToBean(abc.class));

抛出异常

could not resolve property: abc.timezoneKey of: com.locaid.gfe.common.entities.XYZ

尽管在 XYZ 实体中 abc 作为属性存在,而在 abc 中 timezoneKey 作为属性存在。任何人都可以帮助我获得我所缺乏的东西。

4

1 回答 1

0

您需要alias为该abc属性添加一个

Criteria criteria = session.createCriteria(XYZ.class, "xyz").createAlias("xyz.abc", "xabc").add(Restrictions.eq("xyz.XYDId", 1)).add(Restrictions.eq("xyz.active", Boolean.TRUE));
criteria.setProjection(Projections.property("xabc.id").as("id"));
criteria.setProjection(Projections.property("xabc.timezoneKey").as("TIMEZONEKEY"));
criteria.setResultTransformer(Transformers.aliasToBean(abc.class));

你也可以看看这个

于 2012-11-15T12:31:07.733 回答