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 に答える