hibernate保存失败_Hibernate:保存与保存并保存或更新
hibernate保存失敗
save和saveOrUpdate之間的區(qū)別是什么或save和persist之間的區(qū)別是任何Hibernate面試中常見的面試問(wèn)題,就像Hibernate中g(shù)et和load方法之間的區(qū)別一樣。 Hibernate Session類提供了幾種通過(guò)save , saveOrUpdate和persist等方法將對(duì)象保存到數(shù)據(jù)庫(kù)中的方法。 您可以根據(jù)將對(duì)象持久存儲(chǔ)到Database中的要求使用save() , saveOrUpdate()或persist() 。 Hibernate問(wèn)題與Spring框架Interview問(wèn)題一起 ,在J2EE面試中也很受歡迎,因?yàn)樗贠RM中處于領(lǐng)先地位。 在出現(xiàn)在任何J2EE采訪中之前,最好準(zhǔn)備Hibernate的一些問(wèn)題。 其中之一是save , saveOrUpdate和persist之間的區(qū)別 ,我們將在本文的Hibernate中看到這一點(diǎn)。Hibernate中save和saveOrUpdate之間的區(qū)別
save and saveOrUpdate 方法 之間的主要區(qū)別是save()生成一個(gè)新的標(biāo)識(shí)符并將INSERT記錄插入數(shù)據(jù)庫(kù),而saveOrUpdate可以根據(jù)記錄的存在而進(jìn)行INSERT或UPDATE。 顯然, saveOrUpdate在使用方面更為靈活,但是它需要進(jìn)行額外的處理才能找出表中是否已存在記錄。 總之, save()方法通過(guò)INSERT SQL查詢將記錄保存到數(shù)據(jù)庫(kù)中,生成一個(gè)新的標(biāo)識(shí)符,并將Serializable標(biāo)識(shí)符back 。 另一方面,基于數(shù)據(jù)庫(kù)中對(duì)象的存在,可以使用INSERT或UPDATE的saveOrUpdate()方法。 如果數(shù)據(jù)庫(kù)中已存在持久性對(duì)象,則將執(zhí)行 UPDATE SQL,并且如果數(shù)據(jù)庫(kù)中沒(méi)有對(duì)應(yīng)的對(duì)象,則將運(yùn)行INSERT。
Hibernate中保存和持久方法之間的區(qū)別
在上一節(jié)中,我們看到了save和saveOrUpdate之間的區(qū)別是什么,現(xiàn)在我們將看到save方法與persist方法的區(qū)別。
這些是Hibernate的save , saveOrUpdate和persist方法之間的一些區(qū)別 。 這三種方法都與將對(duì)象保存到數(shù)據(jù)庫(kù)有關(guān),但是行為卻大不相同。 有關(guān)save , persist和saveOrUpdate知識(shí),不僅有助于決定如何更好地使用Hibernate API,而且還可以幫助您在Hibernate采訪中做得更好。
別忘了分享!
參考: JavaRevisited博客上的JCG合作伙伴 Javin Paul提供了Hibernate中save,persist和saveOrUpdate之間的區(qū)別 。
翻譯自: https://www.javacodegeeks.com/2012/09/hibernate-save-vs-persist-and.html
hibernate保存失敗
總結(jié)
以上是生活随笔為你收集整理的hibernate保存失败_Hibernate:保存与保存并保存或更新的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Spring Security和jd
- 下一篇: 如何在Activiti中使用瞬态变量