我有兩個具有雙向@OneToOne映射的類。選擇Hibernate OneToOne關聯不存在的實體
Class A {
@OneToOne(fetch = FetchType.Lazy, mappedBy="a")
private B b;
}
Class B {
@OneToOne(fetch = FetchType.Eager)
private A a;
}
我需要編寫代碼來檢索B的所有實例,這些實例沒有與它們關聯的A的實例。我也需要寫一個類似查詢所有這些都沒有B.
我已經嘗試了:
Criteria criteria = getSession().createCriteria(B.class)
criteria.add(Restrictions.isNull("a")
但這似乎總是返回null。思考?
作品。無法弄清楚爲什麼isNull在我的查詢中使用OneToOne將null添加到了錯誤的屬性中。 – MattC 2014-02-06 15:44:53
由於'Criteria.LEFT_JOIN'被刪除,現在可以使用'criteria.createAlias(「b.a」,「a」,JoinType.LEFT_OUTER_JOIN);' – 2016-08-19 12:32:04