第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請(qǐng)問hibernate中的<generater class="native">什么意思?

請(qǐng)問hibernate中的<generater class="native">什么意思?

楊__羊羊 2019-08-17 15:11:29
hibernate中的<generater class="native">什么意思
查看完整描述

5 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

hibernate 的配置文件中g(shù)enerator 表示id 的生成方式,常用的有native ,increment等方式

查看完整回答
反對(duì) 回復(fù) 2019-08-18
?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

native有天生的,本土的,也就是說生來就有的,
那也就是說自動(dòng)生成,不需要人工來幫忙或者管控的.

而assigned是指指定的,分配的,
如果你不賦予他甚麼東西,那麼他是不能實(shí)現(xiàn)的.
需要人工,自己把某個(gè)東西賦予給它
所以是assigned

在用Hibernate的時(shí)候,當(dāng)有表中的主鍵是庫自動(dòng)生成的時(shí)候?qū)⑹褂胣ative。
<generator class="native"></generator>
而當(dāng)是自己添加的時(shí)候則需要改為assigned。
<generator class="assigned"></generator>
否則將會(huì)出現(xiàn)異常!

如果建表時(shí),該表主鍵類型是integer,并設(shè)置成auto-increment,用native;該表主鍵類型是string類型的,用uuid.hex


查看完整回答
反對(duì) 回復(fù) 2019-08-18
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

這是用來設(shè)置主鍵生成策略的。

 

具體策略:

 

Hibernate的Generator屬性有7種class,本文簡略描述了這7種class的意義和用法。

1、identity:用于MySql數(shù)據(jù)庫。特點(diǎn):遞增 

< id name="id" column="id">       < generator class="identity"/>   < /id> 

注:對(duì)于MySql數(shù)據(jù)庫使用遞增序列時(shí)需要在建表時(shí)對(duì)主鍵指定為auto_increment屬性。

2、sequence:用于Oracle數(shù)據(jù)庫 

< id name="id" column="id">      < generator class="sequence">        < param name="sequence">序列名< /param>      < /generator>   < /id> 

3、native:跨數(shù)據(jù)庫時(shí)使用,由底層方言產(chǎn)生。 

Default.sequence為hibernate_sequence

< id name="id" column="id">      < generator class="native"/>   < /id>   

注:使用native時(shí)Hibernate默認(rèn)會(huì)去查找Oracle中的hibernate_sequence序列。 

如果Oracle中沒有該序列,連Oracle數(shù)據(jù)庫時(shí)會(huì)報(bào)錯(cuò)。

4、hilo:通過高低位合成id,先建表hi_value,再建列next_value。必須要有初始值。

< id name="id" column="id">       < generator class="hilo">         < param name="table">high_val< /param>          < param name="column">nextval< /param>         < param name="max_lo">5< /param>       < /generator>   < /id>  

5、sequencehilo:同過高低位合成id,建一個(gè)sequence序列,不用建表。 

< id name="id" column="id">   < generator class="hilo">   < param name="sequence">high_val_seq< /param>   < param name="max_lo">5< /param>   < /generator>   < /id> 

6、assigned:用戶自定義id; 

< id name="id" column="id">   < generator class="assigned"/>   < /id> 

7、foreign:用于一對(duì)一關(guān)系共享主健時(shí),兩id值一樣。



查看完整回答
反對(duì) 回復(fù) 2019-08-18
?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

一般id應(yīng)該是唯一的,所以oracle 設(shè)計(jì)了序列,你可以在創(chuàng)建某個(gè)表時(shí)為其創(chuàng)建唯一的序列,此序列按照一定的規(guī)則產(chǎn)生唯一的id,在你添加記錄時(shí)自動(dòng)生成一個(gè)唯一的id給那張表。所以hibernate才有這個(gè)<generator>來設(shè)置你的oracle數(shù)據(jù)庫表的對(duì)應(yīng)的序列啊。
class為別的值時(shí),有其他的屬性啊,表其實(shí)可以沒有序列的。

查看完整回答
反對(duì) 回復(fù) 2019-08-18
  • 5 回答
  • 0 關(guān)注
  • 622 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)