SpringJpa學習教程 05 物件註解學習

2021-09-10 07:03:15 字數 2132 閱讀 4162

定義物件是乙個可以被jpa進行管理的實體,全域性唯一,不可重複

指定需要在資料庫匹配的資料庫表名

//表名,可選,預設為實體名

string name()

default"";

// 表的catalog

string catalog()

default"";

// 表所在的schema

string schema()

default"";

// 唯一性約束

uniqueconstraint[

]uniqueconstraints()

default

;// 索引,建立表時需要,其他的時候可忽略,如果是主鍵,缺省會建立索引

index[

]indexes()

default

;

定義資料庫的主鍵,每乙個被jpa管理的實體,必須存在乙個,如果沒有,將會在啟動的時候報錯

外部類的聯合主鍵

主鍵生成策略

// 通過表產生主鍵

generationtype.table,

// 通過序列產生主鍵,mysql不支援此方式

generationtype.sequence,

// 資料庫id自增長,一般用於mysql

generationtype.identity,

// jpa自動選擇合適的策略,也是預設選項

generationtype.auto

需要放置在那些已經被序列化的物件上,如果物件已經被序列化,那麼預設此註解就已經放上去了

// 可選項,決定欄位或屬性是否需要延時載入,預設是立即載入,選擇lazy則是延時

// 對大物件呼叫時,適合使用

fetchtype fetch()

default eager;

// 可選項,是否允許欄位為空

boolean

optional()

default

true

;

定義屬性與對應資料庫表名字段的對應

// 列名

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"";

// 字段長度

intlength()

default

255;

// 小數的精確程度

intprecision()

default0;

// 數字刻度

intscale()

default

0;

可設定date型別的屬性對映到資料庫對應欄位的精度

// 日期

temporaltype.date,

// 時間

temporaltype.time,

// 時間戳:日期+時間

temporaltype.timestamp

可直接對映列舉型別的字段到屬性

// 持久化列舉型別或屬性為int

enumtype.ordinal,

// 持久化列舉型別或屬性為string

enumtype.string

將屬性對映成資料庫支援的大物件型別,支援以下型別:

clob(字元大型別):如普通文字檔案等

05 注釋 Python教程

使用用自己熟悉的語言,在程式中對某些 進行標註說明,增強程式的可讀性 這是第乙個單行注釋 print hello python 為了保證 的可讀性,後面建議先新增乙個空格,然後再編寫相應的說明文字 print hello python 輸出 hello python 這是乙個多行注釋 在多行注釋之間...

LNMP 0 5 安裝使用教程

也許大家對lamp比較熟悉,lamp代表linux下apache mysql php這種 伺服器架構 同上lnmp代表的就是linux下nginx mysql php這種 伺服器架構。我們為什麼採用lnmp這種架構?採用linux php mysql的優點我們不必多說。nginx是乙個小巧而高效的l...

python基礎教程Day05

list的使用案例1.判斷 list 內有無重複元素 set 函式建立乙個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集 差集 並集等。a code block a good b morning print set a print set b 輸出刪除了重複的元素 輸出刪除了重複的元...