Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Sql 使用Spring(Tomcat)和JavaEE(JBoss)的各种查询数量_Sql_Performance_Spring_Hibernate_Jakarta Ee - Fatal编程技术网

Sql 使用Spring(Tomcat)和JavaEE(JBoss)的各种查询数量

Sql 使用Spring(Tomcat)和JavaEE(JBoss)的各种查询数量,sql,performance,spring,hibernate,jakarta-ee,Sql,Performance,Spring,Hibernate,Jakarta Ee,我在Tomcat上使用Spring创建了一个应用程序,在JBossAS7上使用JavaEE(EJB+JSF)创建了第二个应用程序。作为ORM,我选择Hibernate,或者我认为是这样 假设我有一个包含旅行优惠的页面。我可以点击一个链接,使用AJAX加载行程描述 对于Spring版本,在选择描述链接后,只向数据库发送一个查询。这很好 但是对于JavaEE版本,在相同的情况下,会发送七个查询!当前站点上显示的每个旅行优惠的七个查询。因此,如果我能看到4个旅行优惠,那么就有4*7个SQL查询!这就是

我在Tomcat上使用Spring创建了一个应用程序,在JBossAS7上使用JavaEE(EJB+JSF)创建了第二个应用程序。作为ORM,我选择Hibernate,或者我认为是这样

假设我有一个包含旅行优惠的页面。我可以点击一个链接,使用AJAX加载行程描述

对于Spring版本,在选择描述链接后,只向数据库发送一个查询。这很好

但是对于JavaEE版本,在相同的情况下,会发送七个查询!当前站点上显示的每个旅行优惠的七个查询。因此,如果我能看到4个旅行优惠,那么就有4*7个SQL查询!这就是性能低下的原因

服务层(即SQL查询)在两个版本中都是相同的。在Spring版本中,使用jQuery(通过post)发送请求。在JavaEE中,我使用JSFAjax支持


这种行为的原因是什么?我不确定,也许Hibernate在JavaEE版本中没有真正使用?在persistence.xml中,我有以下内容:
org.hibernate.ejb.HibernatePersistence

首先,您必须确定多个SQL查询是由客户端引发的,还是后端有不同的内容


尝试打开Firebug或类似工具,检查浏览器是否发送了一系列单独的HTTP请求。

查询是由客户端应用程序引发的。我试图从萤火虫身上找到一些东西。在Spring中,浏览器发送一篇带有参数tourId的帖子。在JSF post中,looks:j_idt30 j_idt30 javax.faces.ViewState 18904043989957610430:5258909192808903679 javax.faces.behavior.偶…action javax.faces.partial.ajax true javax.faces.partial.event click javax.faces.partial.execu…j_idt30:j_idt31:0:j_idt35 j_idt30:0:j_idt31:0:j_idt35 javax.faces.partialjavax.faces.source j_idt30:j_idt31:0:j_idt35在阅读本主题后解决了问题getter中没有DB逻辑,解决了问题。