将DetachedCriteria-subcriteria添加到projectionList

时间:2014-04-28 07:36:18

标签: hibernate-criteria detachedcriteria

我想使用Hibernate标准api构建一个包含来自2个表的记录的pojo。我正在构建一个带有第一张表中所需记录的ProjectionList,因为我在2个tabl之间没有双向关系,只有从第2个到第一个我已经创建了DetachedCriteria(子标准)和为所需记录做了预测。

我不知道如何将子标准添加到ProjectionList以获得所需记录的数组

Criteria criteria = currentSession.createCriteria(getClazz());
projectionList.add(Projections.property("name"), "name");
projectionList.add(Projections.property("str"), "street");
projectionList.add(Projections.property("nr"), "nr");


DetachedCriteria subcriteria=DetachedCriteria.forClass(B.class,"b");
    subcriteria.createAlias("b.adress", "adr",CriteriaSpecification.LEFT_JOIN);
    subcriteria.setProjection(Projections.property("adr.id"));

感谢!!!

1 个答案:

答案 0 :(得分:0)

如果第一个类具有例如addressId,则您的查询可以是这样的:

crteria.add(Subqueries.propertyIn("addressId", subcriteria));