タイトルは質問自体を話す動作しません。私はこのGrails Domainクラスを持っています。休止どこかのステートメントは、
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")
}
}
}
私はこの文のクエリ何かをする必要があります:「そのTypeII
子供やTypeR
子供のclassCode
のいずれかが 『WD996』に等しいすべてのIonicBond
を取得します」。問題はIonicBond
インスタンスが両方TypeII
とTypeR
子供を持っている場合は、このクエリはのみ動作するということです。 「WD996」のclass
値と
IonicBond
TypeR
を持つ子供をしかし、何のTypeII
子供を持っていない:それは含まれません。IonicBond
TypeII
class
の値が "WD996"の子ではありませんが、TypeR
の子はありません。私は、結果セットにこれを含めることができますどのよう
?
'typeIIs'クロージャで' isNull( 'typeRs') 'を追加し、' typeRs'で 'isNull( 'typeIIs')'を追加する必要があります。 – dmahapatro