我非常接近解決方案,但任何事情仍然是錯誤的,希望得到幫助,提前致謝。grails複合材料「獨特的約束」,但如何?
我有一個客戶域模型,如:
class BoCustomer implements Serializable{
String firstName
String lastName
String emailID
Company company
}
所以,我有一個主鍵=「ID」沒關係。因此,我需要進一步「檢查」下面的一個唯一約束:「一家公司只有一個唯一的電子郵件地址」,因此應該允許插入相同的電子郵件,但僅限於不同的公司。插入([email protected],公司-ID:1)和插入([email protected],公司-ID:1)是不允許的,但插入([email protected],company-id:1)並插入([email protected],company-id:2)是允許的。
所以,我想到目前爲止:
(似乎是「好」,但不正是我想要的)
,但我不希望再列,在我嘗試叫「 emailcompany「 - 但我需要一些獨特的約束。
嘿Kaleb,感謝您的回答,但我很抱歉。我嘗試了你的代碼,但仍然有可能使用相同的公司id兩次(以及更多)添加相同的電子郵件:-( – grailsInvas0r
你是否在調用.save()之前在BoCustomer實例上運行.validate()?if所以,驗證返回true? –
是的,我調用.save()之前運行一個.validate()。 它返回「真」是的,我用調試斷點和測試變量檢查它 - 它不幸返回true: – grailsInvas0r