0

2 つの異なるエンティティがあり、それらの間の共通のエンティティ プロパティに基づいてそれらを結合する必要がありますが、基準が作成されたエンティティから他のエンティティに到達するパスがありません! 助けてください。

ありがとう


- 編集 -

申し訳ありませんが、私の質問が明確ではなかったかもしれません。

次のエンティティがあります。

class A
{
    string Text {get;set;}
}
class B 
{
    string Text {get;set;}
}
class C
{
    string Text {get;set;}
    B B_Object_1 {get;set;}
}
class D
{
    A A_Object {get;set;}
    B B_Object_2 {get;set;}
}

私がやろうとしているのは、Dエンティティの条件を作成することですが、それをCエンティティと結合する必要があり、結合条件はD.B_Object_2 == C.B_Object_1 です

投影時、または結果として選択する必要があるものには、上記の結合条件に基づいて D.A_Object.Text と C.B_Object_1.Text が含まれているためです。

これは、Criteria を使用して、または DetachedCriteria の助けを借りて行うことができますか?

ありがとう

4

1 に答える 1

0

私はそれが不可能だと思います。少なくともきちんとした解決策は見つかりませんでした。ただし、次の 2 つの回避策があります。

  1. プロパティのみを照会します。Criteria API がこれを処理できるかどうかはわかりませんが、HQL は確実に処理できます。
  2. プレーンな古い SQL クエリ - session.CreateSQLQuery()。
于 2013-09-04T23:01:35.410 に答える