0

次の 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 が参照するすべての Foo を取得したいと考えています。

編集:エンティティ間に双方向の関係がないことに注意してください。そのため、Foo はどのバーがそれを参照しているかわかりません。次に、Bar から Foo への参照は ManyToMany 型です。

4

2 に答える 2

0

これらの例はあなたのものと同じではありませんが、似ています:

Hibernate 基準サブクエリ

プロパティが含まれていない Hibernate 基準 (サブクエリ)

それらを例として使用できます。

于 2014-05-08T04:44:36.907 に答える
-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;
}
于 2010-01-26T17:07:54.493 に答える