我工作的一種使用Hibernate3和JDBC連接項目交易/互動(MSSQL 2008)Hibernate的會話與線程
目前我們在主類創建我們的會話工廠,然後開始我們的交易,那麼我們開始一個新的線程,該線程創建連接,而不是。我會看看,如果我可以用一些僞代碼說明這一點...
public static main(String[] args){
for(...){
SessionFactory sf = new SessionFactory();
sf.getCurrentSession.beginTransaction();
CreateNewThreadedObject.run();
sf.getCurrentSession.getTransaction.commit();
}
}
我的問題是,這是安全的嗎?我知道會話不是線程安全的,但我沒有真正在線程中使用會話。如果有什麼我使用的交易。將sessionfactory傳遞給線程對象會更好嗎?任何建議表示讚賞!
如果您在衍生線程中使用事務(以便線程執行的操作可以是在main中啓動的事務的一部分),那麼這可能會失敗,因爲主事務可以在派生線程完成其工作單元之前提交它 – 2011-01-13 20:50:17