我非常接近解决方案,但任何事情仍然是错误的,希望得到帮助,提前致谢。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