我背馱着How to join tables in unidirectional many-to-one condition?。如何在Hibernate中單向多對一地離開連接表?
如果你有兩類:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
乙 - >是多對一的關係。我明白,我可以添加B的集合,但我不想要那種關聯。
所以我實際的問題是,是否有創建SQL查詢的HQL或條件的方式:
select * from A left join B on (b.parent_id = a.id)
這會檢索所有A記錄與引用了每個B記錄的笛卡爾積和將包括沒有B引用它們的A記錄。
如果你使用:
from A a, B b where b.a = a
那麼它是內連接和您沒有收到沒有A B引用它們的A記錄。
我還沒有找到一個沒有兩個查詢這樣做的好方法,所以比這更少。
謝謝。
@Joe B你想要的是...? – 2010-03-05 02:36:31
@Arthur Ronald F D Garcia:我需要一個Criteria或HQL方法來製作上面我寫的原始SQL查詢。我已經編輯過這個帖子來大膽提出實際問題。 – jbarz 2010-03-05 17:20:08