欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java Hibernate save()與persist()區(qū)別

 更新時(shí)間:2016年01月02日 19:44:09   投稿:mdxy-dxy  
本文章來(lái)給各位同學(xué)介紹一下Hibernate save()與persist()區(qū)別,希望此文章能對(duì)各位同學(xué)對(duì)于Hibernate save()與persist()有所理解

Hibernate 之所以提供與save()功能幾乎完全類似的persist()方法,一方面是為了照顧JPA的用法習(xí)慣。另一方面,save()和 persist()方法還有一個(gè)區(qū)別:使用 save() 方法保存持久化對(duì)象時(shí),該方法返回該持久化對(duì)象的標(biāo)識(shí)屬性值(即對(duì)應(yīng)記錄的主鍵值);但使用 persist() 方法來(lái)保存持久化對(duì)象時(shí),該方法沒(méi)有任何返回值。因?yàn)?save() 方法需要立即返回持久化對(duì)象的標(biāo)識(shí)屬性,所以程序執(zhí)行 save() 會(huì)立即將持久化對(duì)象對(duì)應(yīng)的數(shù)據(jù)插入數(shù)據(jù)庫(kù);而 persist() 則保證當(dāng)它在一個(gè)事物外部被調(diào)用時(shí),并不立即轉(zhuǎn)換成 insert 語(yǔ)句, 這個(gè)功能是很有用的,尤其當(dāng)我們封裝一個(gè)長(zhǎng)會(huì)話流程的時(shí)候,persist() 方法就顯得尤為重要了。

這里給出一個(gè)明確的區(qū)分。(可以跟進(jìn)src看一下,雖然實(shí)現(xiàn)步驟類似,但是還是有細(xì)微的差別)
主要內(nèi)容區(qū)別:
1,persist把一個(gè)瞬態(tài)的實(shí)例持久化,但是并"不保證"標(biāo)識(shí)符(identifier主鍵對(duì)應(yīng)的屬性)被立刻填入到持久化實(shí)例中,標(biāo)識(shí)符的填入可能被推遲到flush的時(shí)候。
2,save, 把一個(gè)瞬態(tài)的實(shí)例持久化標(biāo)識(shí)符,及時(shí)的產(chǎn)生,它要返回標(biāo)識(shí)符,所以它會(huì)立即執(zhí)行Sql insert

其它網(wǎng)友的解釋:


save方法

保存持久化對(duì)象時(shí),該方法返回該持久化對(duì)象的標(biāo)識(shí)屬性值(即主鍵)。
該方法會(huì)立即將持久化對(duì)象的對(duì)應(yīng)數(shù)據(jù)插入數(shù)據(jù)庫(kù)。

persist方法

該方法沒(méi)有返回任何值。

保證當(dāng)它在一個(gè)事務(wù)外部被調(diào)用時(shí),并不立即轉(zhuǎn)換為insert語(yǔ)句。
適用于長(zhǎng)會(huì)話流程。

相關(guān)文章

  • Spring MVC學(xué)習(xí)之DispatcherServlet請(qǐng)求處理詳析

    Spring MVC學(xué)習(xí)之DispatcherServlet請(qǐng)求處理詳析

    這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之DispatcherServlet請(qǐng)求處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • SpringBoot項(xiàng)目中控制臺(tái)日志的保存配置操作

    SpringBoot項(xiàng)目中控制臺(tái)日志的保存配置操作

    這篇文章主要介紹了SpringBoot項(xiàng)目中控制臺(tái)日志的保存配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中的并發(fā)工具類詳細(xì)解析

    Java中的并發(fā)工具類詳細(xì)解析

    這篇文章主要介紹了Java中的并發(fā)工具類詳細(xì)解析,CountDownLatch、 CyclicBarrier 和 Semaphore 工具類提供了一種并發(fā)流程控制的手段,Exchanger 工具類則提供了在線程間交換數(shù)據(jù)的一種手段,需要的朋友可以參考下
    2023-12-12
  • Java人民幣小寫(xiě)轉(zhuǎn)大寫(xiě)字符串的實(shí)現(xiàn)

    Java人民幣小寫(xiě)轉(zhuǎn)大寫(xiě)字符串的實(shí)現(xiàn)

    這篇文章主要介紹了Java人民幣小寫(xiě)轉(zhuǎn)大寫(xiě)字符串的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例

    java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例

    這篇文章主要介紹了java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • Java基于命令模式實(shí)現(xiàn)郵局發(fā)信功能詳解

    Java基于命令模式實(shí)現(xiàn)郵局發(fā)信功能詳解

    這篇文章主要介紹了Java基于命令模式實(shí)現(xiàn)郵局發(fā)信功能,較為詳細(xì)的分析了命令行模式的概念、原理并結(jié)合實(shí)例形式分析了Java使用命令行模式實(shí)現(xiàn)郵局發(fā)信功能的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • mybatis plus or and 的合并寫(xiě)法實(shí)例

    mybatis plus or and 的合并寫(xiě)法實(shí)例

    這篇文章主要介紹了mybatis plus or and 的合并寫(xiě)法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Javaweb項(xiàng)目session超時(shí)解決方案

    Javaweb項(xiàng)目session超時(shí)解決方案

    這篇文章主要介紹了Javaweb項(xiàng)目session超時(shí)解決方案,關(guān)于解決方案分類比較明確,內(nèi)容詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • SpringBoot的SPI機(jī)制源碼解析

    SpringBoot的SPI機(jī)制源碼解析

    這篇文章主要為大家介紹了SpringBoot的SPI機(jī)制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 關(guān)于@DS注解切換數(shù)據(jù)源失敗的原因?qū)崙?zhàn)記錄

    關(guān)于@DS注解切換數(shù)據(jù)源失敗的原因?qū)崙?zhàn)記錄

    項(xiàng)目配置了多個(gè)數(shù)據(jù)源,需要使用@DS注解來(lái)切換數(shù)據(jù)源,但是卻遇到了問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于@DS注解切換數(shù)據(jù)源失敗原因的相關(guān)資料,需要的朋友可以參考下
    2023-05-05

最新評(píng)論