我試圖讓我的頭圍繞着GORM和關係映射。關係工作正常,但有一個問題。我似乎無法確保每MailAddress
添加到MailingList
有一個唯一的地址。要做到這一點必須有效的方法是什麼?GORM如何確保相關對象的唯一性屬性
注意:MailAddress.address
沒有唯一的限制。相同的地址可以存在於同一個表中。
class MailAddress {
String name
String email
static belongsTo = MailingList
static constraints = {
name blank:true
email email:true, blank:false
}
}
class MailingList {
String name
static hasMany = [addresses:MailAddress]
static mapping = {
addresses cascade: 'all-delete-orphan'
}
static constraints = {
name blank:false
}
}
發現這就是問題所在。目前的表格允許我目前無法更改的重複項目。我只想在郵件列表中的地址之間實現唯一性 – Bart 2013-03-12 21:33:05
如果我正確理解了您的意思,那麼您希望hasMany關聯具有唯一性。如果是這種情況,你可以看看這個答案http://stackoverflow.com/questions/4041939/how-to-set-uniqueness-at-db-level-for-a-one-to-many-association – ibaralf 2013-03-12 21:47:27
謝謝提到那個帖子!我前幾天讀過它,但它讓我很頭疼,因爲提供的例子不起作用。所以我回到了文檔並找出了它。謝謝您的幫助。 – Bart 2013-03-13 06:26:07