私は一方向の多対一の条件でテーブルを結合する方法を便乗していますか? .
2 つのクラスがある場合:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
B -> A は多対 1 の関係です。B のコレクションを A に追加できることは理解していますが、その関連付けは必要ありません。
したがって、私の実際の質問は、SQLクエリを作成するHQLまたは基準の方法はありますか?
select * from A left join B on (b.parent_id = a.id)
これにより、A を参照する各 B レコードのデカルト積を持つすべての A レコードが取得され、B を参照していない A レコードが含まれます。
使用する場合:
from A a, B b where b.a = a
それは内部結合であり、参照する B を持たない A レコードを受け取りません。
2 つのクエリなしでこれを行う良い方法を見つけられなかったので、それより少ないものは素晴らしいでしょう。
ありがとう。