我试图在Spring 4(Java配置)中开发一个web应用程序。我使用postgres作为数据库,C3P0作为连接池。我所有的数据库事务都发生在postgres存储过程/函数中。我使用Hibernate @NamedNativeQueries来调用存储过程。
我有两个问题: 1。我的应用程序将有多个用户同时登录。那么,我应该使用sessionFactory.openSession()还是sessionFactory.getCurrentSession()来获取hibernate会话? 2.我应该使用hibernate调用存储过程还是在spring mvc4中构建支持?我知道这两种方式,但我对hibernate比较满意,因为与spring方式相比,hibernate所需的工作要少得多,但我觉得hibernate使我的应用程序变得缓慢但不确定。
请帮我找出这些问题的答案。
发布于 2015-11-06 14:25:25
回答第一个问题:您应该为每个用户连接一个会话。例如,如果您在servlet上下文中,可以使用servlet过滤器来调用每个servlet线程的sessionFactory.openSession()。
对第二个问题的回答是:表现和优化不是一种感觉。如果您feel hibernate速度慢,请测量它,并试图知道原因。你得测量它减速的地方。你也可以用一个简单的例子来尝试这两种解决方案,并且知道你觉得哪里更舒服。
https://stackoverflow.com/questions/33480039
复制相似问题