How to join tables in unidirectional many-to-one condition?'dan piggy destek alıyorum. İki sınıfları varsaHazırda bekletme durumlarında birden çokya bir arada tabloları nasıl birleştirebilirim?
:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
B -> Tek ilişkiye bir sayıda olduğunu. Anladığım kadarıyla A'ya bir Bs koleksiyonu ekleyebileceğimi anlıyorum, ancak bu ilişkiyi istemiyorum.
Yani benim asıl soru, SQL sorgusu oluşturmanın HQL veya Kriterler yolu var mı edilir:
select * from A left join B on (b.parent_id = a.id)
Bu A başvuran her B kaydının Kartezyen ürün ile tüm A kayıtlarını alır ve B'ye referans veren B kayıtları içermez. katılmak
from A a, B b where b.a = a
o zaman bir iç ve bir B onları başvuran yok A kayıtlarını almazlar:
Eğer kullanın.
İki sorgu olmadan bunu yapmanın iyi bir yolunu bulamadım.
Teşekkürler.
@Joe B Ve istediğin şey ... ??? –
@Arthur Ronald F D Garcia: Yukarıda yazdığım ham SQL sorgusunu yapmanın bir Kriteri veya HQL yoluna ihtiyacım var. Asıl soruyu cesaretlendirmek için yayını düzenledim. – jbarz