最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)介Java的Hibernate框架中的Session和持久化類(lèi)

 更新時(shí)間:2015年12月15日 08:49:36   投稿:goldensun  
這篇文章主要介紹了Java的Hibernate框架中的Session和持久化類(lèi),Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下

Session
Session對(duì)象用于獲取與數(shù)據(jù)庫(kù)的物理連接。 Session對(duì)象是重量輕,設(shè)計(jì)了一個(gè)互動(dòng)是需要與數(shù)據(jù)庫(kù)每次被實(shí)例化。持久化對(duì)象被保存,并通過(guò)一個(gè)Session對(duì)象中檢索。

會(huì)話中的對(duì)象不應(yīng)該保持開(kāi)放很長(zhǎng)一段時(shí)間,因?yàn)樗麄兺ǔ2槐痪€程安全的,他們應(yīng)該被創(chuàng)建并根據(jù)需要摧毀他們。這次會(huì)議的主要功能是提供創(chuàng)建,讀取和刪除操作映射的實(shí)體類(lèi)的實(shí)例。實(shí)例中可能存在以下三種狀態(tài)之一在給定時(shí)間點(diǎn):

短暫性: 持久化類(lèi)的未與會(huì)話相關(guān)聯(lián),并在數(shù)據(jù)庫(kù)中沒(méi)有代表性,沒(méi)有標(biāo)識(shí)值的新實(shí)例被Hibernate認(rèn)為是暫時(shí)的。

持久性: 可以做一個(gè)瞬態(tài)的實(shí)例持久化通過(guò)將它與一個(gè)會(huì)話相關(guān)聯(lián)。持久性實(shí)例都有一個(gè)表示在數(shù)據(jù)庫(kù)中,一個(gè)標(biāo)識(shí)符值,與會(huì)話相關(guān)聯(lián)。

獨(dú)立性: 一旦我們關(guān)閉Hibernate的Session,持久化實(shí)例將成為一個(gè)分離的實(shí)例。

一個(gè)Session實(shí)例是可序列化的,如果它的持久化類(lèi)是可序列化的。一個(gè)典型的事務(wù)應(yīng)該使用下面的語(yǔ)句:

Session session = factory.openSession();
Transaction tx = null;
try {
  tx = session.beginTransaction();
  // do some work
  ...
  tx.commit();
}
catch (Exception e) {
  if (tx!=null) tx.rollback();
  e.printStackTrace(); 
}finally {
  session.close();
}

如果Session拋出異常,事務(wù)必須回滾,會(huì)話必須被丟棄。

持久化類(lèi)
Hibernate的整個(gè)概念是采取從Java類(lèi)屬性的值,并將持久到數(shù)據(jù)庫(kù)表。一個(gè)映射文件Hibernate的幫助確定如何從拉動(dòng)類(lèi)的值,并將它們映射與表和相關(guān)的域。

其對(duì)象或?qū)嵗龑⒋鎯?chǔ)在數(shù)據(jù)庫(kù)表中的Java類(lèi)在Hibernate中稱(chēng)為持久化類(lèi)。 Hibernate的效果最好,如果這些類(lèi)遵循一些簡(jiǎn)單的規(guī)則,也稱(chēng)為普通Java對(duì)象(POJO)編程模型。有下列持久化類(lèi)的主要規(guī)則,但是,這些規(guī)則并不是必需的。

將所有的持久化Java類(lèi)需要一個(gè)默認(rèn)的構(gòu)造函數(shù)。

所有類(lèi)應(yīng)該包含為了讓容易識(shí)別對(duì)象內(nèi)Hibernate和數(shù)據(jù)庫(kù)的ID。此屬性映射到數(shù)據(jù)庫(kù)表的主鍵列。

所有屬性將被持久化應(yīng)該聲明為private,并已在JavaBean風(fēng)格的定義的getXXX和setXXX方法。

Hibernate的關(guān)鍵功能,代理,取決于持久化類(lèi)或者是非final的,或者說(shuō)聲明的所有公共方法的接口的實(shí)現(xiàn)。

所有的類(lèi)不擴(kuò)展或?qū)崿F(xiàn)的EJB框架需要進(jìn)行一些專(zhuān)門(mén)的類(lèi)和接口。

POJO名稱(chēng)用于強(qiáng)調(diào)一個(gè)給定的對(duì)象是一個(gè)普通的Java對(duì)象,而不是一個(gè)特殊的對(duì)象,好更不是Enterprise JavaBean。

一個(gè)簡(jiǎn)單的POJO例子:
基于上面提到的一些規(guī)則,我們可以如下定義一個(gè)POJO類(lèi):

public class Employee {
  private int id;
  private String firstName; 
  private String lastName;  
  private int salary; 

  public Employee() {}
  public Employee(String fname, String lname, int salary) {
   this.firstName = fname;
   this.lastName = lname;
   this.salary = salary;
  }
  public int getId() {
   return id;
  }
  public void setId( int id ) {
   this.id = id;
  }
  public String getFirstName() {
   return firstName;
  }
  public void setFirstName( String first_name ) {
   this.firstName = first_name;
  }
  public String getLastName() {
   return lastName;
  }
  public void setLastName( String last_name ) {
   this.lastName = last_name;
  }
  public int getSalary() {
   return salary;
  }
  public void setSalary( int salary ) {
   this.salary = salary;
  }
}

相關(guān)文章

  • maven之packaging標(biāo)簽的使用

    maven之packaging標(biāo)簽的使用

    這篇文章主要介紹了maven之packaging標(biāo)簽的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Flink作業(yè)Task運(yùn)行源碼解析

    Flink作業(yè)Task運(yùn)行源碼解析

    這篇文章主要為大家介紹了Flink作業(yè)Task運(yùn)行源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 實(shí)現(xiàn)一個(gè)簡(jiǎn)單Dubbo完整過(guò)程詳解

    實(shí)現(xiàn)一個(gè)簡(jiǎn)單Dubbo完整過(guò)程詳解

    這篇文章主要為大家介紹了實(shí)現(xiàn)一個(gè)簡(jiǎn)單Dubbo完整過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • c#和java base64不一致的解決方法

    c#和java base64不一致的解決方法

    最近非常郁悶的處理這個(gè)base64的問(wèn)題,同樣的一個(gè)圖片文件,在java和c#進(jìn)行base64編碼后結(jié)果不一樣,苦惱了很久,下面這篇文章主要給大家介紹了關(guān)于c#和java base64不一致的解決方法,需要的朋友可以參考下
    2018-11-11
  • Spring RestTemplate具體使用詳解

    Spring RestTemplate具體使用詳解

    這篇文章主要介紹了Spring RestTemplate具體使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 詳解Java接口的相關(guān)知識(shí)

    詳解Java接口的相關(guān)知識(shí)

    今天給大家?guī)?lái)的是關(guān)于Java基礎(chǔ)的相關(guān)知識(shí),文章圍繞著Java接口展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot使用Sa-Token實(shí)現(xiàn)賬號(hào)封禁、分類(lèi)封禁、階梯封禁的示例代碼

    SpringBoot使用Sa-Token實(shí)現(xiàn)賬號(hào)封禁、分類(lèi)封禁、階梯封禁的示例代碼

    本文主要介紹了SpringBoot使用Sa-Token實(shí)現(xiàn)賬號(hào)封禁、分類(lèi)封禁、階梯封禁的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳解Java中LinkedStack鏈棧的實(shí)現(xiàn)

    詳解Java中LinkedStack鏈棧的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java中LinkedStack鏈棧的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-11-11
  • Java設(shè)計(jì)模式中的組合模式

    Java設(shè)計(jì)模式中的組合模式

    這篇文章主要介紹了Java設(shè)計(jì)模式中的組合模式,組合模式依據(jù)樹(shù)形結(jié)構(gòu)來(lái)組合對(duì)象,用來(lái)表示部分以及整體層次,種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式
    2022-07-07
  • SpringBoot整合Mybatis-Plus實(shí)現(xiàn)微信注冊(cè)登錄的示例代碼

    SpringBoot整合Mybatis-Plus實(shí)現(xiàn)微信注冊(cè)登錄的示例代碼

    微信是不可或缺的通訊工具,本文主要介紹了SpringBoot整合Mybatis-Plus實(shí)現(xiàn)微信注冊(cè)登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02

最新評(píng)論

通山县| 安宁市| 诸城市| 阿拉善右旗| 岐山县| 贵定县| 济阳县| 丰顺县| 丹棱县| 白城市| 佛坪县| 福海县| 奎屯市| 扶绥县| 上犹县| 宜君县| 尉犁县| 青河县| 公主岭市| 平和县| 肇源县| 嘉善县| 纳雍县| 松阳县| 襄城县| 安吉县| 罗城| 彰化县| 金湖县| 长阳| 海晏县| 定兴县| 斗六市| 和林格尔县| 南溪县| 普安县| 大兴区| 清苑县| 泸水县| 邯郸市| 金平|