簡體   English   中英

休眠:sessionFactory.openSession()與sessionFactory.getCurrentSession()

[英]Hibernate: sessionFactory.openSession() VS sessionFactory.getCurrentSession()

我正在嘗試在Spring 4(Java配置)中創建Web應用程序。 我使用postgres作為數據庫,使用C3P0作為連接池。 我所有的數據庫事務都在postgres存儲過程/函數中進行。 我正在使用Hibernate @ NamedNativeQueries調用存儲過程。

我有兩個問題:1.我的應用程序將有多個用戶同時登錄。 所以我應該使用sessionFactory.openSession()或sessionFactory.getCurrentSession()來獲取休眠會話嗎? 2.我應該在Spring MVC4中使用Hibernate調用存儲過程或建立支持嗎? 我知道這兩種方式,但是我比休眠方式更省力,因為與春季方式相比,它需要的工作量更少,但是我覺得休眠方式使我的應用程序變慢但不確定。

請幫助我找到這些問題的答案。

回答第一個問題:您應該為每個用戶連接一個會話。 例如,如果您在servlet上下文中,則可以有一個servlet過濾器來為每個servlet線程調用sessionFactory.openSession()

回答第二個問題:性能和優化不是一種感覺。 如果您feel冬眠的速度很慢,請對其進行測量,然后嘗試找出原因。 您必須測量它放慢的地方。 您也可以通過一個簡單的示例嘗試這兩種解決方案,並了解自己的舒適之處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM