標題說明了問題本身。我有這個Grails Domain類。當評估子屬性時,Hibernate在何處或語句不起作用
class IonicBond {
...
static hasMany = [
typeIIs: TypeII,
typeRs: TypeR,
]
static constraints = {
typeIIs nullable: true
typeRs nullable: true
}
}
我需要根據它的特性hasMany
要查詢的IonicBond
實例。事情是這樣的:
ArrayList<IonicBond> list = IonicBond.createCriteria().list {
or {
typeIIs {
eq("classCode", "WD996")
}
typeRs {
eq("classCode", "WD996")
}
}
}
我需要爲這一說法做一個查詢的內容:「獲取所有IonicBond
其中或者其TypeII
孩子中的一個或TypeR
兒童classCode
等於‘WD996’」。問題是,只有在IonicBond
實例同時具有TypeII
和TypeR
子項時,此查詢纔會起作用。這將不包括:
IonicBond
與TypeR
孩子「WD996」的class
價值,但沒有TypeII
孩子。IonicBond
與TypeII
孩子class
值「WD996」但沒有TypeR
孩子。
我該如何將它包含到結果集中?
在'typeIIs'閉包中加入'isNull('typeRs')',在'typeRs'閉包中加入'isNull('typeIIs')''應該這樣做吧? – dmahapatro