javax.persistence的@column


@column表示數據庫映射實體對應的列,有很多屬性(寫在括號里面的,用逗號隔開的)

name屬性表示對應的列名

columnDefinition屬性表示創建表時,該字段創建的SQL語句,一般用於通過Entity生成表定義時使用,如果數據庫中表已經建好,該屬性沒有必要使用

    @Column(name = "isLock", columnDefinition = "bit(1) COMMENT '是否鎖定 0未鎖1鎖定.'")
    private Boolean isLock = false;

  這就等價於

CREATE TABLE tb_emp1
(
  is_lock bit(1) COMMENT '是否鎖定 0未鎖1鎖定.'
 );
  

  下面為一些可用的屬性

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM