實體類
/*實體類*/
@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的電梯設計電梯間。圖紙設計完了,開始施工,一切都很順利,很快大樓就蓋起來了,大家都很高興...