@Column
:標識實體類中屬性與數據表中字段的對應關係,可以標註在屬性或getter方法前面
package javax.persistence;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String name() default "";//定義了被標註字段在數據庫中所對應字段的名稱
boolean unique() default false;//該字段是否爲唯一標識,默認爲false
//如果表中有一個字段需要唯一標識,則既可以使用該標記,也可以使用@Table標記中的@UniqueConstraint
boolean nullable() default true;//該字段是否可以爲null值,默認爲true
boolean insertable() default true;//在使用"INSERT"插入數據時,是否需要插入該字段的值
boolean updatable() default true;//在使用“UPDATE”腳本插入數據時,是否需要更新該字段的值
//insertable和updatable屬性一般多用於只讀的屬性,例如主鍵和外鍵等。這些字段的值通常是自動生成的
String columnDefinition() default "";
//表示創建表時,該字段創建的SQL語句,一般用於通過Entity生成表定義時使用
String table() default "";//當映射多個表時,指定表的表中的字段。默認值爲主表的表名
int length() default 255;//字段的長度,當字段的類型爲varchar時,該屬性纔有效,默認爲255個字符
int precision() default 0;//當字段類型爲double時,precision表示數值的總長度
int scale() default 0;//當字段類型爲double時,scale表示小數點所佔的位數。
//precision屬性和scale屬性表示精度
}