Spring JPA 註解 Column屬性 詳解

API文檔地址: http://docs.oracle.com/javaee/5/api/javax/persistence/Column.html


該註解的定義如下:

@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表示小數點所佔的位數。










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章