Hibernate映射配置文件基本詳細(xì)配置

■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓↓↓↓ Hibernate框架 ——映射配置文件基本詳細(xì)配置↓↓↓↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■




引入hibernate核心包下的org.hibernate的映射文件的約束


-->

"-//Hibernate/Hibernate Mapping DTD3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">



根據(jù)約束文件創(chuàng)建根標(biāo)簽


auto-import 是查找這個映射類的文件的時候是按照類路徑進(jìn)行查找的


lazy 是設(shè)置是否延遲加載前普,默認(rèn)是true,設(shè)置為false則是立即加載

◆映射的標(biāo)簽也是可以設(shè)置的

-->


class 根據(jù)一個類進(jìn)行映射


name 是類的類路徑

table 是需要進(jìn)行映射的表

-->


<id>是定義這個表的主鍵映射


name 是類的屬性

column 是表的字段名


-->


genetator 是定義這個id的值是如何創(chuàng)建的


class 是定義主鍵進(jìn)行創(chuàng)建的方式


方式一;自行維護(hù)

assigned 是開發(fā)人員給的,

如果開發(fā)人員沒有對主鍵進(jìn)行賦值則自動賦值推捐,

1 但是是從0開始负乡,并且是只會賦值一次。


方式二酌壕;底層數(shù)據(jù)庫維護(hù)

identity ?針對sql數(shù)據(jù)庫的

squence ? 針對orcle數(shù)據(jù)庫的

native ? ?自適應(yīng)


方式三晨炕;hibernate框架維護(hù)

increment 是根據(jù)最大的id+1進(jìn)行計(jì)算的

uuid ? ? ? ?是底層生成一個uuid的衫画,

? ? 但是必須要是字符類型或者文本類型


◆注;如果主鍵是使用自生成的瓮栗,

那么這個主鍵第一個值必須要是這個自動生成的規(guī)則削罩,

如;第一個必須是1

? 并且有一些是手動設(shè)置以及是失效的费奸,只會使用自生成的值



-->



property 是定于類的屬性和表字段直接的關(guān)系弥激,

如果表的字段和類的屬性名是一樣的則不需要寫column默認(rèn)是一樣的


name 是映射類的屬性名

column 是表的映射字段名

type ? 則是需要存入數(shù)據(jù)庫的類型

length 則是可以存入數(shù)據(jù)庫的大小

因?yàn)樵?lt;id>中定義了主鍵所以不需要在<property>中再次定義


在hibernate框架中對數(shù)據(jù)庫的操作有三種數(shù)據(jù)庫存儲類型,

每一種數(shù)據(jù)類型都是一一對應(yīng)的货邓。


java ? ? ? ? ?? ? ? ?hibernate ? ? ? ? MySql

java.lang.String ? ? ?stringstring/text/clob

java.lang.byte ? ? ??binary ? ? ? ? ? ? blob

-->

<!-- ◆◆◆ 在對文件進(jìn)行操作的時候建議檢查數(shù)據(jù)庫的數(shù)據(jù)類型和存放的大小◆◆◆ -->

<!-- 對字符文件進(jìn)行操作-->

<!-- 對字節(jié)文件進(jìn)行操作-->

<!-- 集合映射-->


配置Set映射


name 是進(jìn)行映射類的Set屬性名

table 是這個映射集合的表名

-->


? key 是設(shè)置這個表與主表的外鍵關(guān)聯(lián)鍵

-->


element 是定義這個表秆撮,存放數(shù)據(jù)的字段

-->





list 是設(shè)置這個表的List屬性的副表


name 映射類中的list名

table 是這個副表的名

-->


key 是設(shè)置這個表與主表的外鍵

cloumn 是這個外鍵的字段名

-->


因?yàn)長ist集合是一個有序的所以需要定義一個list索引值,

因?yàn)閕d如果進(jìn)行了刪除那么則會出現(xiàn)斷層

? column 是定義這個索引值的字段名

-->


element 是設(shè)置這副表的存放數(shù)據(jù)的字段


column 是字段名

-->





map 是定義映射類中的Map集合


name 是映射類的Map集合屬性名

table 是定義這個映射類的表的表名

-->


key ?是定義這個表的與主表的外鍵


column 是定義這個外鍵的字段名

-->



因?yàn)閙ap 集合是有一個key的所以則使用map-key標(biāo)簽


column 是定義這key的字段名

type 是定義這個字段的類型换况,·····必須

-->


element 是定義字段名


column 是定義這個字段名

-->



----------- 對象映射---------------



+----------------> ? ?多對一映射;單向

| ?設(shè)置對一方的配置

| name 當(dāng)前這個一方位于多方類中屬性名

| class 是這個多方類的類路徑

| column 是這個多方法位于表的外鍵字段

| cascade 是設(shè)置這個2個表之間的級聯(lián)盗蟆,

| 在寫到代碼的時候可以省略一點(diǎn)戈二,在刪除,

| 修改等操作則會自動映射到一方的表也進(jìn)行這樣的操作喳资。

| 可是如果有多個映射到一方表中的某一個數(shù)據(jù)觉吭,那么則在刪除的時候則要關(guān)閉級聯(lián)。

| save-update 是保存和更新

| delete ? ? ?是刪除

| all ? ? ? ? 是所有

結(jié) none ? ? ? ?關(guān)閉仆邓,默認(rèn)

合-->

是class="com.levi._02m_t_o_single.Person"

雙column="p_id"

向>

|

|

|

| 配置多方的映射

| cascade 是配置這個2個表之間的外鍵級聯(lián)

| save-update 保存和修改級聯(lián)

| delete 刪除級聯(lián)

| all 所有

| none 默認(rèn)是沒有

| -->

|

+-------------> ? ? 一對多映射鲜滩;單向

在數(shù)據(jù)進(jìn)行保存的時候出現(xiàn)了2次的update。

因?yàn)檫@個update的出現(xiàn)是因?yàn)樵趇nsert的時候那個外鍵是空的节值,

從而在后面才需要補(bǔ)上去徙硅。

在一對多的關(guān)聯(lián)中是由一方進(jìn)行維護(hù)這個關(guān)聯(lián)關(guān)系的,

而這個關(guān)聯(lián)關(guān)系的建立是依靠外鍵的搞疗。

而這個關(guān)聯(lián)關(guān)系是由誰維護(hù)則是誰保存則是由誰維護(hù)的嗓蘑,


所以一方會主動的把自己的主鍵的值再次進(jìn)行更新到外鍵表的外鍵字段中,

由此產(chǎn)生了2個update語句。


但是可以通過設(shè)置inverse(反轉(zhuǎn))屬性桩皿,

用于將這個關(guān)聯(lián)維護(hù)關(guān)系豌汇,主動的轉(zhuǎn)換給被的表


inverse 默認(rèn)是false,不轉(zhuǎn)讓出去泄隔,需要設(shè)置為true

? ◆默認(rèn)在一方

-->


<!-- 設(shè)置這個一方類位于這個多方表的外鍵-->



配置對象映射關(guān)系


class 配置這個多方類的類路徑


-->






+-------------> ?多對多映射拒贱;雙向

| 配置對象映射,table 是中間表的表名

| cascade 是設(shè)置這個關(guān)聯(lián)

| save-update 保存/修改

| delete 刪除

| all 所有

| none 關(guān)閉級聯(lián)佛嬉,默認(rèn)

|

| inverse 設(shè)置和外鍵維護(hù)控制權(quán)給另外的一個映射逻澳,

| 因?yàn)樵诙鄬Χ嗟挠成渲袝霈F(xiàn)同時2個維護(hù)

| -->

|

對 <!-- 設(shè)置當(dāng)前這個表的外鍵-->

| 設(shè)置這個表的映射

| column 是設(shè)置這個class屬性對應(yīng)的類的外鍵值

| -->

|

|column="s_id">

|

|

|

+-------------> ? ?多對多映射;雙向

設(shè)置對象映射

name 是屬性名

table 是中間表

-->


<!-- 設(shè)置當(dāng)前這個表的位于中間表的外鍵-->


<!-- 設(shè)置關(guān)聯(lián)表巷燥,column是設(shè)置這個關(guān)聯(lián)表的外鍵-->

column="t_id">




+-------------> ? ?一對一映射赡盘;雙向 —— 主表

| 設(shè)置映射,因?yàn)橥怄I是不在Person表的

| -->

|class="com.levi._06o_t_o_double.IdCard"

|cascade="all">

|

|

| ? ?一對一映射缰揪;雙向 —— 副表

+------------> 方式一陨享;使用一對多(多對一)雙向;

| 必須要設(shè)置外鍵是唯一的钝腺,

一 這是一個特殊的一對一抛姑。

映-->

雙class="com.levi._06o_t_o_double.Person"

向column="p_id"

| cascade="all"

|unique="true"> -->

|

| ? ?一對一映射;雙向 —— 副表

|

+------------> ? ? 方式二艳狐;主鍵作為外鍵


-->

class="com.levi._06o_t_o_double.Person"

cascade="all"

constrained="true">

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末定硝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子毫目,更是在濱河造成了極大的恐慌蔬啡,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镀虐,死亡現(xiàn)場離奇詭異箱蟆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刮便,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門空猜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恨旱,你說我怎么就攤上這事辈毯。” “怎么了搜贤?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵谆沃,是天一觀的道長。 經(jīng)常有香客問我入客,道長管毙,這世上最難降的妖魔是什么腿椎? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮夭咬,結(jié)果婚禮上啃炸,老公的妹妹穿的比我還像新娘。我一直安慰自己卓舵,他們只是感情好南用,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掏湾,像睡著了一般裹虫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上融击,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天筑公,我揣著相機(jī)與錄音,去河邊找鬼尊浪。 笑死匣屡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拇涤。 我是一名探鬼主播捣作,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鹅士!你這毒婦竟也來了券躁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤掉盅,失蹤者是張志新(化名)和其女友劉穎也拜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趾痘,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搪泳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扼脐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡奋刽,死狀恐怖瓦侮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佣谐,我是刑警寧澤肚吏,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站狭魂,受9級特大地震影響罚攀,放射性物質(zhì)發(fā)生泄漏党觅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一斋泄、第九天 我趴在偏房一處隱蔽的房頂上張望杯瞻。 院中可真熱鬧,春花似錦炫掐、人聲如沸魁莉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旗唁。三九已至,卻和暖如春痹束,著一層夾襖步出監(jiān)牢的瞬間检疫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工祷嘶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屎媳,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓抹蚀,卻偏偏與公主長得像剿牺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子环壤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容