该注解的定义如下:
- @Target({
- METHOD, FIELD
- }) @Retention(RUNTIME)
- public @interface Column {
- String name() default "";
- boolean unique() default false;
- boolean nullable() default true;
- boolean insertable() default true;
- boolean updatable() default true;
- String columnDefinition() default "";
- String table() default "";
- int length() default 255;
- int precision() default 0;
- int scale() default 0;
- }
- name
name 属性定义了被标注字段在数据库表中所对应字段的名称;
unique
unique 属性表示该字段是否为唯一标识, 默认为 false. 如果表中有一个字段需要唯一标识, 则既可以使用该标记, 也可以使用 @Table 标记中的 @UniqueConstraint.
nullable
nullable 属性表示该字段是否可以为 null 值, 默认为 true.
insertable
insertable 属性表示在使用 "INSERT" 脚本插入数据时, 是否需要插入该字段的值.
updatable
updatable 属性表示在使用 "UPDATE" 脚本插入数据时, 是否需要更新该字段的值. insertable 和 updatable 属性一般多用于只读的属性, 例如主键和外键等. 这些字段的值通常是自动生成的.
columnDefinition
columnDefinition 属性表示创建表时, 该字段创建的 SQL 语句, 一般用于通过 Entity 生成表定义时使用.(也就是说, 如果 DB 中表已经建好, 该属性没有必要使用.)
table
table 属性定义了包含当前字段的表名.
length
length 属性表示字段的长度, 当字段的类型为 varchar 时, 该属性才有效, 默认为 255 个字符.
precision 和 scale
precision 属性和 scale 属性表示精度, 当字段类型为 double 时, precision 表示数值的总长度, scale 表示小数点所占的位数.
API 文档地址:
来源: http://www.bubuko.com/infodetail-2922612.html