0
您可以检查Grails域类中的自定义验证器内字段的组合唯一性吗?Grails域自定义验证器检查唯一性
Long points
String field1
String field2
Level level
level validator {val,obj->
if(obj.points<1000){
//make sure level is unique with field 1
level unique: ['field1']
}
else{
//make sure level is unique with field 2
level unique: ['field2']
}
}
你不能用这种方式指定唯一性。请记住,在数据库级别指定唯一性,并且不能在数据库中执行此操作。 – cantoni
所以我将不得不运行一个查询,并检查组合是否已经存在?findWhere(level:val,field1:object.field1)?// valid:// error – user2782001
是啊!在这种情况下,您必须创建一个可定制的解决方案来确保应用程序的唯一性。请记住,如果你想要数据库中的唯一性,你需要两个表(一个包含Field1 + Level的表和一个包含Field2 + Level的表)。 – cantoni