純JPA 入門小案例(2)

2021-09-21 17:55:21 字數 1725 閱讀 5021

面試:你懂什麼是分布式系統嗎?redis分布式鎖都不會?>>>

通過annotation(註解)來對映hibernate實體的,基於annotation的hibernate主鍵標識為@id, 其生成規則由@generatedvalue設定的.這裡的@id和@generatedvalue都是jpa的標準用法。

jpa提供的四種標準用法為table,sequence,identity,auto。

具體說明如下:

identity:主鍵由資料庫自動生成(主要是自動增長型)

用法:

[@id](  

@generatedvalue(strategy = generationtype.identity)

private long custid;

sequence:根據底層資料庫的序列來生成主鍵,條件是資料庫支援序列。

用法:

@id  

@generatedvalue(strategy = generationtype.sequence,generator="payablemoney_seq")

@sequencegenerator(name="payablemoney_seq", sequencename="seq_payment")

private long custid;

//@sequencegenerator原始碼中的定義

@target()

@retention(runtime)

public @inte***ce sequencegenerator

auto:主鍵由程式控制

用法:

@id  

@generatedvalue(strategy = generationtype.auto)

private long custid;

table:使用乙個特定的資料庫**來儲存主鍵

用法:

@id

@generatedvalue(strategy = generationtype.table, generator="payablemoney_gen")

@tablegenerator(name = "pk_gen",

table="tb_generator",

pkcolumnname="gen_name",

valuecolumnname="gen_value",

pkcolumnvalue="payablemoeny_pk",

allocationsize=1

) private long custid;

//@tablegenerator的定義:

@target()

@retention(runtime)

public @inte***ce tablegenerator ;

} //這裡應用表tb_generator,定義為 :

create table tb_generator (

id number not null,

gen_name varchar2(255) not null,

gen_value number not null,

primary key(id)

)

Python入門小案例

python入門小案例 print hello def test print mr zhang test if name main print world class fish hungry true def eat self,food if food is not none self.hungry...

Python 入門小案例

1 合法識別符號規則 數字 下劃線 字母構成 避開關鍵字 不能用數字開頭 避開內建電池中的函式 2 樣例 非法 以字母開頭 1f a 1f a.isidentifier 輸出 false樣例 合法 fhdaksh a fhdaksh a.isidentifier 輸出 true item 1 for...

Spring AOP之入門小案例

1.定義切面類aspect 增添 component 告訴spring容器掃瞄這個元件 aspect 告知spring這個類是個切面類 兩個註解 定義切面類 aspect component public class loggingadvice 2.定義切點pointcut 定義切點,並定義在哪些地...