username unique: true
unique
用途
将一个属性约束为数据库级别的唯一属性
示例
说明
如果属性必须唯一,则设置为 true
。这是一个持久调用,将查询数据库。
以下情况(尽管实际上不太可能发生)有可能通过唯一性验证,但随后的保存会失败。如果在 Grails 检查和实际保存你的实例之间发生另一个保存或更新以更新数据库,则调用会失败。防止这种情况的唯一方法是在 SERIALIZABLE 隔离级别使用事务,但这对性能非常不利。 |
还可以通过声明要包括的其他字段作为参数值来定义多列 unique
约束。如果有另一个字段,请指定其名称,但如果有多个字段,可以使用列表,例如
示例
group unique: 'department'
在此示例中,group
名称在一个 department
中必须唯一,但不同部门中可能会存在同名组,即组名本身并不唯一。
另一示例
username(unique: ['group', 'department'])
在此示例中,username
在 group
和 department
中必须唯一。不同组或不同部门中可能存在相同的登录名。
此约束会影响 模式生成.
错误代码:className.propertyName.unique