我无法将以下HQL查询转换为Criteria API,我想知道我是否可以从你们那里得到一些帮助
SELECT child FROM Foo AS child
WHERE child IN (SELECT elements(obj.foos) FROM Bar AS obj WHERE obj.id = ?)
换句话说,我想在ID等于?的Bar实例中获取Bar引用的所有Foos。
编辑:请注意,实体之间没有双向关系,因此Foo不知道哪些Bars有引用它。其次,Bar到Foo的引用是ManyToMany类型。
答案 0 :(得分:0)
答案 1 :(得分:-2)
类似的东西:
List<Foo> foos = session.createCriteria(Foo.class).createAlias("bar", "bar").add(Restrictions.eq("bar.id", 12345)).list();
对应于:
class Foo {
Bar bar;
}
class Bar {
long id;
}