實體類與資料庫字段型別

2021-09-27 12:40:46 字數 2042 閱讀 8389

實體類

/*實體類*/

@column

(precision =

12, scale =3)

private bigdecimal rate;

//資料庫字段型別

rate decimal(12

,3)(2)@column屬性詳解:

name

定義了被標註欄位在資料庫表中所對應欄位的名稱;

unique

表示該欄位是否為唯一標識,預設為false。如果表中有乙個字段需要唯一標識,則既可以使用該標記,也可以使用@table標記中的@uniqueconstraint。

nullable

表示該欄位是否可以為null值,預設為true。

insertable

表示在使用「insert」指令碼插入資料時,是否需要插入該字段的值。

updatable

表示在使用「update」指令碼插入資料時,是否需要更新該字段的值。insertable和updatable屬性一般多用於唯讀的屬性,例如主鍵和外來鍵等。這些欄位的值通常是自動生成的。

columndefinition(大多數情況,幾乎不用)

表示建立表時,該欄位建立的sql語句,一般用於通過entity生成表定義時使用。(也就是說,如果db中表已經建好,該屬性沒有必要使用。)

table

表示當對映多個表時,指定表的表中的字段。預設值為主表的表名。

length

表示欄位的長度,當字段的型別為varchar時,該屬性才有效,預設為255個字元。

precision和scale

precision屬性和scale屬性表示精度,當欄位型別為double時,precision表示數值的總長度,scale表示小數點所佔的位數。

例項

示例(其中3、4不常用)

example 1

: 指定字段「tradeno」交易編號的長度為50,且值不能為null

@column

(name =

"tradeno"

, length =

50, nullable =

false

)private string tradeno;

example 2

:

指定字段「totalamount」交易金額的精度(長度)為10,小數點位數為2位,且值不能為null

@column

(name =

"totalamount"

, precision =

10, scale =

2, nullable =

false

)private bigdecimal totalamount;

example 3

: 字段「text」,指定建表時sql語句 如「varchar(50

) not null」

@column

(name =

"text"

, columndefinition =

"varchar(50) not null"

)private string text;

等同於sql

create table [dbo]

.[my_test]

([id]

int not null identity(1

,1),

[text]

varchar(50

) not null

)columndefinition,若不指定該屬性,通常使用預設的型別建表,若此時需要自定義建表的型別時,可在該屬性中設定。

example 4

:

字段值為唯讀的,不允許插入和修改。通常用於主鍵和外來鍵

@column

(name =

"id"

, insertable =

false

, updatable =

false

)private integer id;

資料庫表字段 實體類字段 命名不匹配

資料庫表字段如下 資料庫表字段 實體類字段如下 實體類字段 當查詢一條訂單記錄時,從資料庫表專項乙個實體類,要解決欄位名不匹配的問題。有兩種解決方式 第一種 取別名 select order id id,order no orderno,order price price from orders w...

dataset與實體類

dataset與sqldataadapter物件是微軟在ado.net中推出的新一代的資料訪問方式,有些情況下非常適合使用 dataset,例如在設計原型 開發小型系統和支援實用程式時。但是,在企業系統中使用 dataset 可能並不是最佳的解決方案,因為對企業系統來說,易於維護要比投入市場的時間更...

實體類與電梯

我們先假設一種情況,乙個開發商想蓋一座大樓 假設30層吧 先要弄乙個設計圖紙呀,沒有設計圖紙怎麼蓋樓呢?設計圖紙的其他部分我們就先不管了,只看看電梯的這一塊的情況。一開始要選用電梯公司a的電梯,於是設計圖就根據a的電梯設計電梯間。圖紙設計完了,開始施工,一切都很順利,很快大樓就蓋起來了,大家都很高興...