我們有一個User類左連接的Grails標準
class User {
...
}
和其他類:
class Licence {
User user
Event event
}
我們想要做的是左連接(因爲不是每一個用戶,我們有一個條目許可證類)。
我們天真地這樣做:
def a = User.withCriteria {
createAlias("Licence", "l", CriteriaSpecification.LEFT_JOIN)
eq("id", "l.user.id")
if (something == true)
isNull("l.id")
else
isNotNull("l.id")
}
但查詢失敗:
could not resolve property Licence of User
有人可以幫如何做到這一點的查詢?
'User'和'Licence'之間的連接性質是什麼?它是OneToMany還是OneToOne?在我看來,你需要在用戶 – lvojnovic
中使用'static hasOne = [license:License]'或'static hasMany = [licenses:License]',實際上它是一對一的用戶。但我還沒有宣佈hasOne關係,因爲我一直有一個hasOne的問題,當hasOne方可以爲空... – Bernhard