簡體   English   中英

Hibernate Save()-'Save Method'是什么意思,save()在事務之外工作?

[英]Hibernate Save() - 'Save Method' what is it mean by save() work outside the transaction?

好吧,當我了解到休眠的“ Persist”和“ Save”方法之間的區別時,很多文章特別強調了“ Save方法可以在事務邊界之外執行”
這句話讓我感到非常困惑,我讀了足夠多的文章來理解它的真正含義,但是沒有運氣! 現在我有幾點要澄清。

問題1

這是真的?? 如果為真

問題2

[假設交易是指物理數據庫交易]

據我所知,沒有事務就不會執行數據庫,那么在事務邊界之外意味着什么呢?

問題3

[假設交易是邏輯交易]

根據我引用的材料,“會話”列出了邏輯事務。 因此,即使它使用persist()或save()持久化數據,它也將僅在顯式提交或session.flush或關閉會話之后才刷新並提交。

由於會話是邏輯事務,沒有會話就無法執行,那么在事務外部進行save()工作意味着什么?

如果有人可以給我一個清晰詳細的答案,那將是一個很大的幫助。非常感謝!

這是一篇很好的文章,太長了,無法復制: https : //www.journaldev.com/3481/hibernate-session-merge-vs-update-save-saveorupdate-persist-example 在本質上:

問題1:是的,這是真的。 這意味着您無需先完成session.beginTransaction()即可調用session.save(object) session.beginTransaction() 您必須仍然有一個開放的會話。

Q2:事務意味着Hibernate的事務,大概會話仍將使用對數據庫的事務,但是事務很短,甚至是隱式的(自動提交)。

Q3:這意味着在由beginTransaction啟動的Hibernate事務之外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM