@Column注解属性详解

name
定义了被标注字段在数据库表中所对应字段的名称;数据库

unique
表示该字段是否为惟一标识,默认为false。若是表中有一个字段须要惟一标识,则既能够使用该标记,也能够使用@Table标记中的@UniqueConstraint。.net

nullable
表示该字段是否能够为null值,默认为true。blog

insertable
表示在使用“INSERT”脚本插入数据时,是否须要插入该字段的值。ci

updatable
表示在使用“UPDATE”脚本插入数据时,是否须要更新该字段的值。insertable和updatable属性通常多用于只读的属性,例如主键和外键等。这些字段的值一般是自动生成的。get

columnDefinition(大多数状况,几乎不用)
表示建立表时,该字段建立的SQL语句,通常用于经过Entity生成表定义时使用。(也就是说,若是DB中表已经建好,该属性没有必要使用。)it

table
表示当映射多个表时,指定表的表中的字段。默认值为主表的表名。io

length
表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符。table

precision和scale
precision属性和scale属性表示精度,当字段类型为double时,precision表示数值的总长度,scale表示小数点所占的位数。test

 

columnDefinition方法

一、属性为Integer
@Column(nullable=false,columnDefinition=“INT default 0”)
private Integer commentApprove;

二、属性为String
@Column(columnDefinition=“varchar(128) default ‘hello’”)
private String test;

三、对于String类型的默认值,也能够直接给属性赋值,如:
private String userName=“蓝色裂痕~”;
当添加时,若是userName为空,则”蓝色裂痕~”即为该属性的默认值。


@Column能够标注在属性前或getter方法前;


参考资料:https://blog.csdn.net/qq_16769857/article/details/80347459 

https://blog.csdn.net/li_wen_jin/article/details/65626399

相关文章
相关标签/搜索