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

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

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

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

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

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


save方法

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

persist方法

該方法沒有返回任何值。

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

相關(guān)文章

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

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

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

    SpringBoot項目中控制臺日志的保存配置操作

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

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

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

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

    這篇文章主要介紹了Java人民幣小寫轉(zhuǎn)大寫字符串的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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基于命令模式實現(xiàn)郵局發(fā)信功能詳解

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

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

    mybatis plus or and 的合并寫法實例

    這篇文章主要介紹了mybatis plus or and 的合并寫法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Javaweb項目session超時解決方案

    Javaweb項目session超時解決方案

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

    SpringBoot的SPI機制源碼解析

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

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

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

最新評論