package com.vci.starter.web.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 数据库的字段映射,对象与BO属性映射 * @author weidy * */ @Target({ java.lang.annotation.ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) public @interface Column { /** * 名称,如果相同(不区分大小写)可以不输入 * @return 默认为空 */ String name() default ""; /** * 是否唯一 * @return 默认不唯一 */ boolean unique() default false; /** * 校验唯一的时候,不区分大小写 * @return 默认区分 */ boolean unUniqueCase() default false; /** * 是否可以为空 true表示可以为空;false表示不能为空 * @return 默认可以为空 */ boolean nullable() default true; /** * 描述 * @return 默认为空 */ String columnDefinition() default ""; /** * 长度 * @return 默认为0 */ int length() default 0; /** * 精度 * @return 默认为0 */ int precision() default 0; /** * 刻度-double使用 * @return 默认为2 */ int scale() default 2; /** * 参照字段显示的字段 * @return 默认为空 */ String showTextField() default ""; /** * 使用枚举 * @return 枚举的英文名称 */ String useEnum() default ""; /** * 使用参照 * @return 引用的业务类型的英文名称 */ String useRefer() default ""; /** * 值范围 * @return 多个范围的值 */ String[] range() default ""; /** * 默认值,如果是日期或者数字形式的时候,也直接转换字符串 * @return 默认为空 */ String defaultValue() default ""; /** * 使用其他参照字段的关联属性 * @return 默认为空 */ String referColumnName() default ""; }