次の構造に注釈を付けたい:
私はこのクエリを持っています:
SELECT A.*, BES.*, BES_2.*
INNER JOIN BES ON A.a = BES.a AND A.b = BES.b
INNER JOIN BES AS BES_2 ON A.a = BES_2.a AND A.b = BES_2.b
WHERE (BES.c = N'foo') AND (BES_2.c = N'bar')
エンティティ Job (A を表す) と JobEndPoint (BES を表す) があります。Job オブジェクトには、1 対 1 の関係でマップされる 2 つの JobEndPoint が含まれている必要があります。WHEREステートメントでチェックする列「c」だけが異なる同じ値をチェックするテーブルを2回JOINする必要があります。
@OneToOne
private JobEndPoint from;
@OneToOne
private JobEndPoint to;
私の問題は、データベースの列とオブジェクト フィールドが大きく異なり、WHERE ステートメントを追加する方法がわからないことです。