Hibernate事务管理
事務只是一個工作單位(單元)。 在這種情況下,如果一個步驟失敗,則整個事務失敗(稱為原子性)。 ACID屬性(原子性,一致性,隔離性和持久性)可以描述事務。
Hibernate中的事務接口
在hibernate框架中,我們有Transaction接口來定義工作單元。 它維護了事務實現(JTA,JDBC)的抽象。
事務與Session相關聯,并通過調用session.beginTransaction()實例化。
Transaction接口的方法如下:
1. void begin() 開始一個新的事務。
2. void commit() 結束工作單位,在FlushMode.NEVER中除外。
3. void rollback() 強制此事務回滾。
4. void setTimeout(int seconds) 它為由此實例開始的后續調用啟動的任何事務設置事務超時。
5. boolean isAlive() 檢查交易是否仍然存在。
6. void registerSynchronization(Synchronization s) 為此事務注冊用戶同步回調。
7. boolean wasCommited() 檢查事務是否成功提交。
8. boolean wasRolledBack() 檢查事務是否成功回滾。
Hibernate中的事務管理示例
在hibernate中,如果發生任何異常,最好回滾事務,以便資源可以釋放自由。 我們來看看hibernate中事務管理的例子。
Session session = null; Transaction tx = null; try { session = sessionFactory.openSession(); tx = session.beginTransaction(); //some action tx.commit(); }catch (Exception ex) { ex.printStackTrace(); tx.rollback(); } finally {session.close(); } 復制代碼
Java學習路線推薦:阿里云大學——開發者課堂
轉載于:https://juejin.im/post/5d089cbff265da1ba2526105
總結
以上是生活随笔為你收集整理的Hibernate事务管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好程序员Java分享SQL语言之索引
- 下一篇: 78-传参的装饰器