JPA中@Column註解

@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屬性表示精度
}

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