我正在尝试在Spring 4(Java配置)中制作一个Web应用程序。我使用postgres作为数据库,使用C3P0作为连接池。我所有的数据库事务都在postgres存储过程/函数中进行。我正在使用Hibernate @ NamedNativeQueries调用存储过程。
我有两个问题:1.我的应用程序将同时有多个用户登录。所以我应该使用sessionFactory.openSession()或sessionFactory.getCurrentSession()来获取休眠会话吗?2.我应该在Spring MVC4中使用Hibernate调用存储过程或建立支持吗?我知道这两种方式,但是我比休眠方式更省力,因为与春季方式相比,它需要的工作量更少,但是我觉得休眠方式使我的应用程序变慢但不确定。
请帮助我找到这些问题的答案。
回答第一个问题:您应该为每个用户连接一个会话。例如,如果您在servlet上下文中,则可以有一个servlet过滤器来为sessionFactory.openSession()
每个servlet线程调用。
回答第二个问题:性能和优化不是一种感觉。如果您feel
冬眠的速度很慢,请对其进行测量,然后尝试找出原因。您必须测量它放慢的地方。您也可以通过一个简单的示例尝试这两种解决方案,并知道您会觉得更舒适。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句