@Documented @Constraint(validatedBy=TableUniqueValueValidator.class) @Target(value={FIELD,PARAMETER}) @Retention(value=RUNTIME) public @interface TableUniqueValue
一般用来校验code字段,例如同一个表中,code字段不能重复
| 限定符和类型 | 必需的元素和说明 |
|---|---|
String |
columnName
列名称,例如 user_code
|
String |
tableName
表名称,例如 sys_user
|
| 限定符和类型 | 可选元素和说明 |
|---|---|
boolean |
excludeLogicDeleteItems
是否开启逻辑删除校验,默认是关闭的
关于为何开启逻辑删除校验:
若项目中某个表包含控制逻辑删除的字段,我们在进行唯一值校验的时候要排除这种状态的记录,所以需要用到这个功能
|
Class[] |
groups |
String |
idFieldName
数据库主键id的字段名,例如 user_id
|
String |
logicDeleteFieldName
逻辑删除的字段名称
|
String |
logicDeleteValue
默认逻辑删除的值(Y是已删除)
|
String |
message |
Class<? extends javax.validation.Payload>[] |
payload |
public abstract String tableName
public abstract String columnName
public abstract String message
public abstract Class[] groups
public abstract Class<? extends javax.validation.Payload>[] payload
public abstract String idFieldName
public abstract boolean excludeLogicDeleteItems
关于为何开启逻辑删除校验:
若项目中某个表包含控制逻辑删除的字段,我们在进行唯一值校验的时候要排除这种状态的记录,所以需要用到这个功能
public abstract String logicDeleteFieldName
public abstract String logicDeleteValue
Copyright © 2022. All rights reserved.