2009-02-13 133 views
0

有沒有辦法選擇和選擇Hibernate將用事務包裝的更新?受eBay驅動儘可能無事務處理的啓發,我知道我的應用程序中有許多更新,不需要進行ACID寫入。例如,有一個更新包含用戶標識和另一個表的標識。只有一個用戶可以插入此記錄,並且我知道它不需要成爲事務。那麼,我該如何禁用這個插入事務,或者插入到這個表中呢?使用Hibernate進行交易

編輯:

好,因爲我根本DB是MySQL的 - 它看起來像我不得不在一個表一個表的基礎選擇。任何不需要交易的表都可以設置爲myisam而不是innodb。啊,好吧,不是我正在尋找的答案。

+0

https://www.hibernate.org/403.html – hakre 2012-08-28 10:20:18

回答

1

參見:Hibernate Tx Documentation

一般的答案是這取決於你如何調用休眠。上面的文檔解釋瞭如何通過Hibernate API來控制事務邊界。

0

我不知道任何關於Hibernate的,但我的想法是:

如果你沒有明確的BEGIN TRANSACTION/COMMIT那麼它會做的,它的-東西(除非你有隱性事務開啓)。

如果每頁只有一個INSERT/UPDATE(工作單元),那麼該頁面本質上是ACID,因此無論您是否啓動並顯式事務,都不重要。

但是,隱式事務處理整個頁面的數據庫事務的範圍將確保如果您將來添加了某些內容,忘記該頁面沒有隱式事務處理,您可以將自己從自己身上拯救出來!