0
I持って、次のクラス:基準APIを使用して異なるテーブルで1つのテーブルを結合するにはどうすればよいですか?
class A {
private B b;
// getters/setters
}
class B {
private C c;
private D d;
// getters/setters
}
class C {
private boolean outdated;
// getters/setters
}
class D {
// not important fields
// getters/setters
}
クラスBは、関係 '一対一' とA、C及びDに接続されています。
基準apiで次の表を結合しようとしています。
私は次のコードしている:
Root<A> root = query.from(A.class);
root.join(A_.b)
.join(B_.c)
.join(B_.d);
をしかし、CIとBを接合した後のフィールドを使用することはできませんので、残念ながらこのコードは、私は「.join(B_.d)」をライン上のエラーが表示されますが、コンパイルされません参加のためのBの。
このような結合をしたいのは、エンティティCが古くなっていないという条件が必要なためです(このため、 'on'条件を追加します)。
誰もこの問題を解決する方法を知っていますか?
あなたは基準apiの結合が不変ではないので、すべての結合を別々の変数に移動して、それらを独立して操作することができます。 – ruslan5t