1

休止状態の基準を使用して、次のようなクエリを作成したいと思います。

SELECT .
table1"any_field" FROM table1内部結合table2. = . または。= table2.field1table1field1table2field1table1field2

どこ .....

主な問題は、内部結合に「OR」条件を追加できないことです。適用するすべての制限とものは常に「AND」になります。

4

1 に答える 1

0

確かに効率的ではありません:

session.createCriteria(T2.class, "t2")
    .add(Restriction.or(
        Subquery.exists(DetachedCriteria.for(T1.class).add(Restrictions.eqProperty("field1", "t2.field1")),
        Subquery.exists(DetachedCriteria.for(T1.class).add(Restrictions.eqProperty("field2", "t2.field1")))
    .list();
于 2012-10-05T14:14:47.090 に答える