login(unique:true)
要小心的是(尽管不常见),可能唯一性约束验证通过了但保存到数据库的时候出错,因为唯一性约束是数据库层的。可以使用SERIALIZABLE
事物处理(性能差)或主动捕获抛出的异常。
可以把相同类中的其他属性(一或多)设定为当前属性的unique
范围,也就是说,这俩个属性对(或多个属性的组合)的值必须是唯一的。
例子:
group(unique:'department')
department
的group
值必须不同,但不同的department
的group
值可以相同。
例子:
login(unique:['group','department'])
group
和department
中login
必须不同,但不同的group
和department
中的login
可以相同。
这个约束会影响scheme的生成(schema generation)。
错误代码:className.propertyName.unique