有两个类A和B.A类中有一组B类对象。 B类有一个字段X.我希望能够返回A类对象的列表,这些对象在其集合中具有类型B的对象,它们具有属性X的某些特定值。它甚至可能吗?
到目前为止,我尝试过类似的事情:
Root<A> root = criteriaQuery.from(A.class);
criteriaQuery.select(root);
criteriaQuery.where(root.get("bCollection").get("x").in("value"))
但当然不起作用。怎么办呢? B类映射为嵌套组件,如下所示:
<set name="bCollection" table="bCollection">
<key column="a_id" />
<composite-element
class="example.B">
<many-to-one name="x" column="b_id" not-null="false"
cascade="none" foreign-key="b_fk" />
</composite-element>
</set>
我希望有人知道......谢谢!
答案 0 :(得分:1)
当然有可能:
Join B
。Join B
。有关IN子句的示例,请google或查看this answer。