您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用基于Column注解的columnDefinition”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Column注解的columnDefinition使用
@Column注解的各個字段的解釋
columnDefinition屬性表示創建表時,該字段創建的SQL語句,一般用于通過Entity生成表定義時使用,如果數據庫中表已經建好,該屬性沒有必要使用
1、指定字段類型、長度、是否允許null、是否唯一、默認值
/** 倉庫編號 */ @Column(name = "code",columnDefinition = "Varchar(100) not null default'' unique") private String code;
2、需要特殊指定字段類型的情況
@Column(name = "remark",columnDefinition="text") private String remark;
@Column(name = "salary", columnDefinition = "decimal(5,2)") private BigDecimal salary;
@Column(name="birthday",columnDefinition="date") private Date birthday; @Column(name="createTime",columnDefinition="datetime") private Date createTime;
查看源碼:
@Target({ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.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
:定義了被標注字段在數據庫表中所對應字段的名稱;
unique
:表示該字段是否為唯一標識,默認為false。如果表中有一個字段需要唯一標識,則既可以使用該標記,也可以使用@Table標記中的
nullable
:表示該字段是否可以為null值,默認為true
insertable
:表示在使用“INSERT”腳本插入數據時,是否需要插入該字段的值。
updatable
:表示在使用“UPDATE”腳本插入數據時,是否需要更新該字段的值。insertable和updatable屬性一般多用于只讀的屬性,例如主鍵和外鍵等。這些字段的值通常是自動生成的。
columnDefinition
(大多數情況,幾乎不用):表示創建表時,該字段創建的SQL語句,一般用于通過Entity生成表定義時使用。(也就是說,如果DB中表已經建好,該屬性沒有必要使用。
table
:表示當映射多個表時,指定表的表中的字段。默認值為主表的表名。
length
:表示字段的長度,當字段的類型為varchar時,該屬性才有效,默認為255個字符。
precision
和scale
:precision屬性和scale屬性表示精度,當字段類型為double時,precision表示數值的總長度,scale表示小數點所占的位數
“如何使用基于Column注解的columnDefinition”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。