Hibernate筆記(映射持久化類(lèi))

Hibernate學(xué)習(xí)(映射持久化類(lèi))

第一個(gè)實(shí)體類(lèi)的映射

@Entity
@Table(name = "t_item")
public class Item {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    public Long getId() {
        return id;
    }
}

這是一個(gè)最基礎(chǔ)的實(shí)體類(lèi),使用@Entity 注解標(biāo)記為"可持久化",并且?guī)в幸粋€(gè)用于數(shù)據(jù)庫(kù)標(biāo)識(shí)符屬性@Id映射.@Table 注解重寫(xiě)JPA 默認(rèn)表名為"t_item"

配置鍵生成器

當(dāng)保存實(shí)體實(shí)例時(shí),通常你會(huì)希望系統(tǒng)生成一個(gè)主鍵值,因此你會(huì)在@Id旁邊編寫(xiě)@GeneratedValue注解,JPA使用javax.persistence.GenerationType枚舉標(biāo)準(zhǔn)化集中值生成策略,可以使用@GeneratedValue(strategy =...)進(jìn)行選擇:

  1. GenerationType.AUTO Hibernate會(huì)選擇一種合適的策略,詢(xún)問(wèn)你已配置數(shù)據(jù)庫(kù)的那種SQL方言是最佳的,默認(rèn)值.
  2. GenerationType.SEQUENCE HIbernate 預(yù)期(并且會(huì)創(chuàng)建,如果使用工具的話(huà))你的數(shù)據(jù)庫(kù)中存在一個(gè)名為HIBERNATE_SEQUENCE的序列,該序列會(huì)在每個(gè)INSERT之前被單獨(dú)調(diào)用,已生成順序數(shù)字值.
  3. GenerationType.IDENTITY Hibernate預(yù)期(并且會(huì)在表DDL中創(chuàng)建)一個(gè)特殊的自增長(zhǎng)主鍵列,該列會(huì)在數(shù)據(jù)庫(kù)INSERT時(shí)自動(dòng)生成一個(gè)數(shù)字值.
  4. GenerationType.TABLE HIbernate將在您的數(shù)據(jù)庫(kù)架構(gòu)中使用一個(gè)額外的表,這個(gè)表會(huì)保存下一個(gè)數(shù)字主鍵值,每行對(duì)應(yīng)一個(gè)實(shí)體類(lèi),在INSERT之前.該表將被讀取并做相應(yīng)的更新.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 本文中我們介紹并比較兩種最流行的開(kāi)源持久框架:iBATIS和Hibernate,我們還會(huì)討論到Java Persi...
    大同若魚(yú)閱讀 4,336評(píng)論 4 27
  • 前面的相關(guān)文章中,我們已經(jīng)介紹了使用XML配置文件映射實(shí)體類(lèi)及其各種類(lèi)型的屬性的相關(guān)知識(shí)。然而不論是時(shí)代的潮流還是...
    Single_YAM閱讀 6,032評(píng)論 2 4
  • 江南的雪,是銀裝素裹的白茫茫斷夜的天,是煙火喧囂的霧靄藹零落的殘破,畫(huà)一株雷擊木沒(méi)有春天,烏鴉天狗也沒(méi)有冬天,黃鼠...
    買(mǎi)金礦閱讀 647評(píng)論 34 63
  • 心疼也會(huì)流淌 流淌成晶體在七公牛谷的山頂 太陽(yáng)下面閃著光 桃花哭泣的眼睛 脆弱了整個(gè)春天
    劉文娟閱讀 215評(píng)論 0 1
  • 各位老師同學(xué)們大家好,我是來(lái)自某某的某某同學(xué),很榮幸今天能站在這兒為大家演講,我演講的主題是什么是正確的戀愛(ài)觀(guān)。 ...
    kx未已閱讀 21,493評(píng)論 1 10