0
說我有以下的域對象:的Grails GORM有條件的左外連接
class Top {
User createdBy
Other other
static hasMany = [
children: Child,
]
}
class Child {
User createdBy
static belongsTo = [
top: Top,
]
}
並給予用戶MYUSER和其他myOther,我要選擇所有的上衣,其中
top.other.id = myOther.id和
加入所有的孩子如果top.createdBy = MYUSER OR
如果top.createdBy!= MYUSER,只能加入孩子們在那裏child.createdBy = MYUSER(或者無子女)
這是我試過(以及許多其他失敗的變化):
Top.createCriteria().list{
eq('other', myOther)
createAlias('children', 'c', JoinType.LEFT_OUTER_JOIN)
children {
or {
isNull('c')
eq('createdBy', myUser)
and {
ne('createdBy', myUser)
eq('c.createdBy', myUser)
}
}
}
}
但這種失敗「org.hibernate.QueryException:重複協會路徑:兒童」和無用的堆棧跟蹤。
任何提示?提前致謝!