session不是線程安全的

session不是線程安全的數據庫

 

在利用Hibernate開發DAO模塊時,咱們和Session打的交道最多,因此如何合理的管理Session,避免Session的頻繁建立和銷燬,對於提升系統的性能來講是很是重要的,以往是經過eclipse的插件來自動完成這些代碼的,固然效果是不錯的,可是老是以爲不爽(沒有讀懂那些冗長的代碼),因此如今打算本身實現Session管理的代碼。咱們知道Session是由SessionFactory負責建立的,而SessionFactory的實現是線程安全的,多個併發的線程能夠同時訪問一個SessionFactory並從中獲取Session實例,那麼Session是不是線程安全的呢?很遺憾,答案是否認的。Session中包含了數據庫操做相關的狀態信息,那麼說若是多個線程同時使用一個Session實例進行CRUD,就頗有可能致使數據存取的混亂,你可以想像那些你根本不能預測執行順序的線程對你的一條記錄進行操做的情形嗎?
安全

相關文章
相關標籤/搜索