データベースから概要を選択するには、次のようなステートメントを使用する必要があります。
select a1.begin, a1.end, b1.name, c1.name, d1.name, e1.name, f1.name, ...
from a2, b1, b2, c1, c2, a1
left outer join (d1 join d2 on d2.id = d1.parent and d1.user = ?) on
d1.deleted = 0 and d1.parent = a1.d1_id
left outer join (e1 join e2 on e2.id = e1.parent and e1.user = ?) on
e1.deleted = 0 and e1.parent = a1.e1_id
left outer join (f1 join f2 on f2.id = f1.parent and f1.user = ?) on
f1.deleted = 0 and f1.parent = a1.f1_id
where .... a lot more stuff...
ステートメントは魔法のように機能し、データベースはそれを非常に高速に処理するのに問題はありません。信じてください。必要なデータを取得する方法は他にありません。
今までは、私たちの Java プロジェクトには純粋な EJB-QL や SQL の言葉さえも持っていないことを誇りに思っていました。しかし、CriteriaBuilder を使用してそのようなステートメントを作成する方法があるかどうかはわかりません。複数の基準を使用して外部結合を作成する方法、またはネストされた内部結合を使用して外部結合を作成する方法がまったくわかりません。
どんなヒントでも大歓迎です。
ありがとうヘネス