我想創建2個域類User
和MailBox
如何在Grails中正確創建多個一對一的雙向關係?
將有2 Mailbox
每個User
,一個是sent
,另一個是inbox
。
我試圖解決這個的多種方式:
1 - (失敗的映射除外)
Mailbox {
}
User {
static hasOne=[inbox:Mailbox, sent:Mailbox]
}
2 - (完美的罰款,直到我試圖使用它,那麼價值sent
在任何時候都變得null
)
Mailbox {
static belongsTo = [user: User]
}
User {
Mailbox inbox
Mailbox sent
}
3 - (當我試圖創建一個新用戶:new User(inbox: new Mailbox(), sent: new Mailbox()).save()
失敗)
Mailbox {
static belongsTo = [user: User]
}
User {
static mappedBy = [inbox: 'id', sent: 'id']
Mailbox inbox
Mailbox sent
}
創建這種關係的正確方法是什麼?