0

悪いタイトルで申し訳ありませんが、私はそれをよりよく表現する方法を本当に知りません:

私は次のテーブル構造を持っています:

Table A --> Table B  <-- Table C (proceeds) --> Table D(prcoeeding_status)
--------    --------     -------                -------
 aID         bID           cID                   dID
 ...         ....          created             textValue
 f_bID       ....          f_bID       
                           f_dID

つまり、AとCにはBを指す外部キーがあり、CにはDを指す外部キーもあります。

私はこのような述語を持っています(ルートはテーブルAです):

constraintCondition = (TableA.join("Table B key")
                        .joinList("Table C Key")
                        .join("Table D Key").get("value from table D"))
                        .in(someValues);

これは正常に機能し、期待どおりの結果が得られます。次に、別の制約を追加する必要があります。表Cで、日付エントリ(つまり「作成済み」)が開始日と終了日の間にあるエントリのみを選択します。別の述語をこの述語にチェーンするにはどうすればよいですか、またはこの述語を変更して目的の効果を得るにはどうすればよいですか?

編集:

ここでこの質問に対する答えが得られました:JPA 2基準API:メタモデルを使用せずにさまざまな結合テーブルから値を選択する方法は?

4

1 に答える 1

0

ここを見てください、それは同じ問題であり、よりよく説明され、答えられています:

JPA 2基準API:メタモデルを使用せずにさまざまな結合テーブルから値を選択するにはどうすればよいですか?

于 2012-11-10T13:27:20.110 に答える