想知道在Hibernate中開始一個新的事務是否實際分配了一個連接到數據庫?Hibernate中的beginTransaction是否分配新的數據庫連接?
我擔心b/c我們的服務器爲每個收到的請求開始一個新的事務,即使這個請求沒有與數據庫交互。我們將數據庫連接視爲主要瓶頸,所以我想知道是否應該縮短我的交易範圍。
到處搜索,一直沒有找到一個很好的答案。非常簡單的代碼在這裏:
SessionFactory sessionFactory = (SessionFactory) Context.getContext().getBean("sessionFactory");
sessionFactory.getCurrentSession().beginTransaction();
sessionFactory.getCurrentSession().setFlushMode(FlushMode.AUTO);
非常感謝! 一個
謝謝,我們正在使用連接池。通過默認情況下不開始交易,我們能夠大量減少數據庫的負載。 – illscience 2010-03-31 14:33:51
實際上,連接在'Session'中被延遲加載。詳情請參閱我的回答。 – 2010-03-31 15:41:57
@帕斯卡爾Thivent HM,有趣,邏輯:) @illscience請改變接受的答案 – Bozho 2010-03-31 17:15:34