Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:sessionFactory.openSession()与sessionFactory.getCurrentSession()的比较_Java_Spring_Hibernate_Postgresql_Spring Mvc - Fatal编程技术网

Java Hibernate:sessionFactory.openSession()与sessionFactory.getCurrentSession()的比较

Java Hibernate:sessionFactory.openSession()与sessionFactory.getCurrentSession()的比较,java,spring,hibernate,postgresql,spring-mvc,Java,Spring,Hibernate,Postgresql,Spring Mvc,我试图在Spring4(Java配置)中创建一个web应用程序。我使用postgres作为数据库,C3P0作为连接池。 我的所有数据库事务都发生在postgres存储过程/函数中。我正在使用Hibernate@调用存储过程 我有两个问题: 1.我的应用程序将有多个用户同时登录。所以我应该使用sessionFactory.openSession()还是sessionFactory.getCurrentSession()来获取hibernate会话? 2.我应该在SpringMVC4中使用hiber

我试图在Spring4(Java配置)中创建一个web应用程序。我使用postgres作为数据库,C3P0作为连接池。 我的所有数据库事务都发生在postgres存储过程/函数中。我正在使用Hibernate@调用存储过程

我有两个问题: 1.我的应用程序将有多个用户同时登录。所以我应该使用sessionFactory.openSession()还是sessionFactory.getCurrentSession()来获取hibernate会话? 2.我应该在SpringMVC4中使用hibernate调用存储过程还是内置支持?我知道这两种方法,但我更喜欢hibernate,因为与spring方法相比,hibernate需要的工作量非常少,但我觉得hibernate使我的应用程序速度变慢了,但不确定


请帮助我找到这些问题的答案。

第一个问题的答案: 您应该为每个用户连接一个会话。例如,如果您在一个servlet上下文中,您可以有一个servlet过滤器来为每个servlet线程调用
sessionFactory.openSession()

对第二个问题的答复: 性能和优化不是一种感觉。如果你
觉得
休眠速度慢,请测量一下,并尝试了解原因。你必须测量它的速度。你也可以用一个简单的例子来尝试这两种解决方案,并知道在哪里你感觉更舒服