2010-01-26 51 views
0

我有以下HQL查询转换为标准API麻烦,我在想,如果我可以从你们转换一个HQL查询,其中包括元素()到标准API

 

SELECT child FROM Foo AS child 
WHERE child IN (SELECT elements(obj.foos) FROM Bar AS obj WHERE obj.id = ?) 
 

得到一些帮助换句话说,我想在Bar的id等于?的实例中获取Bar引用的所有Foos。

编辑:请注意,我没有实体之间的双向关系,所以Foo不知道哪些酒吧有一个引用它。其次,从Bar到Foo的引用是ManyToMany类型。

回答

-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; 
} 
+0

就像我说过的,Foo没有对Bar的引用,它只是Bar引用了Foo。 – 2010-01-26 18:55:23