Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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 2) 按s.id分组”;_Java_Sql_Postgresql_Jpa_Spring Data Jpa - Fatal编程技术网

Java 2) 按s.id分组”;

Java 2) 按s.id分组”;,java,sql,postgresql,jpa,spring-data-jpa,Java,Sql,Postgresql,Jpa,Spring Data Jpa,我想指出的是,这两个查询并不等价,但它们确实加载了许多公共字段,并且在WHERE子句中具有相同的条件 我知道第二个查询很长很无聊,但要点是,我的实体都是惰性加载的。没有一个字段是急切加载的。因此,在JPA查询中,EntityGraph中的字段是唯一急切加载的字段。尽管如此,在我的第一个查询(JPA)中发生的连接较少但是,第二个查询运行平均需要约11秒,而第一个查询运行平均需要约20秒,两者的参数完全相同 有人能解释一下原因吗?我知道第一个最终会加载实体中更多的“普通”字段(如字符串、日期、整数…

我想指出的是,这两个查询并不等价,但它们确实加载了许多公共字段,并且在WHERE子句中具有相同的条件

我知道第二个查询很长很无聊,但要点是,我的实体都是惰性加载的。没有一个字段是急切加载的。因此,在JPA查询中,
EntityGraph
中的字段是唯一急切加载的字段。尽管如此,在我的第一个查询(JPA)中发生的连接较少但是,第二个查询运行平均需要约11秒,而第一个查询运行平均需要约20秒,两者的参数完全相同

有人能解释一下原因吗?我知道第一个最终会加载实体中更多的“普通”字段(如字符串、日期、整数…),但我仍然希望它运行得更快

(如果足够相关,我还可以使用JPA查询发布本机SQL查询Hibernate构建)

编辑:这是Hibernate从初始JPA查询生成的SQL查询:

选择
发货编号为id1\U 13\U 0,
shipmentre1.id为id1\u 22\u 1\u,
boxes2.id为id1\u 1\u 2\u,
shipmentpu3.id为id1\u 21\u 3\u,
地址TBL4.id为id1\U 0\U 4\,
计划的ID5.id为id1\U 23\U 5\,
托盘6号标识为id1号7号6号,
发货编号为id1\U 20\U 7,
分配id为id1\u 2\u 8\u,
发货日期为存档日期为存档日期2\u 13\u 0,
shipmenttb0。身份验证代码为身份验证代码3\u 13\u 0,
装运授权日期为授权日期4\u 13\u 0,
shipmenttb0。由用户以预订的方式预订,
shipmenttb0.business作为business6.13.0,
发货。作为快递员的快递员,
发货。快递费金额为快递费8欧元13欧元0欧元,
发货TB0。快递员作为快递员的货币9\u 13\u 0,
shipmenttb0。shipmenttb0作为Shipment to 40_13_0,
装运。预计装运日期为预计10日13日,
发货日期。预测日期为预测日期11\u 13\u 0,
shipmenttb0。上次更新日期为上次更新12日13日0日,
装运TB0。测量单位为测量值13,
发货日期。原件提交日期为原始日期14\u 13\u 0,
装运。包装类型为包装15\u 13\u 0,
shipmenttb0。占位符消息作为placeho16\u 13\u 0\u,
装运日期。计划装运期为第17天,第13天,
装运日期为计划装运日期为计划装运日期,
发货TB0。从as ship fr41\U 13\U 0发货,
shipmenttb0。ship_来源为ship_或42_13_0,
shipmenttb0。装运名称为shipmen19\u 13\u 0,
shipmenttb0。状态为状态20\u 13\u 0,
装运日期为提交日期21\u 13\u 0,
发货TB0。供应商联系方式为Supplier22\u 13\u 0,
发货。供应商联系方式为供应商名称23\u 13\u 0,
发货TB0。供应商联系电话作为供应商24\u 13\u 0,
发货。供应商以supplie25\u 13\u 0的形式发送电子邮件,
发货TB0。供应商二级联系方式\u作为供应商的电子邮件26\u 13\u 0,
发货TB0。供应商\u二级\u联系人\u名称为供应商27\u 13\u 0,
发货TB0。供应商\u二级\u联系人\u电话\u作为供应商28\u 13\u 0,
装运。承租人作为承租人29\u 13\u 0,
装运。收到的总箱数为总箱数,
装运。总单位为总单位,共31个单位,共13个单位,
发货TB0。总值为总值v32\U 13\U 0,
装运。总体积为总体积33×13×0,
装运。总重量等于总重量w34\U 13\U 0,
shipmenttb0。跟踪号为跟踪号35\u 13\u 0,
装运TB0。tt注释为tt注释36\u 13\u 0,
装运优先权为tt-prio37-13-0,
shipmenttb0。由用户更新为更新的38\u 13\u 0,
装运重量单位为重量39 13 0,
shipmentre1。bookin_datetime作为bookin_d2_22_1,
收货类型为收货类型3\u 22\u 1,
装运延迟1天,即延迟22天,
发货1.收到的包装箱与收到的包装箱相同,
shipmentre1收到日期时间为收到日期6,
装运日期:计划装运日期为装运日期,
shipmentre1会话作为会话7会话22会话1活动,
shipmentre1。装运id为shipmen10\u 22\u 1,
发货状态为状态8\u 22\u 1,
shipmentre1.装运id为shipmen10\u 22\u 0\u,
shipmentre1.id为id1\u 22\u 0\u,
框2。添加的时间为添加的时间,
箱子2.箱子编号为箱子3.箱子1.箱子2,
箱子2.高度等于高度4.1.2,
箱子2.长度等于长度5\u 1\u 2\u,
箱2.装运标识为装运7.1.2,
箱子2.宽度为6.1.2.宽度,
箱2.装运id为装运7.1.1,
boxes2.id为id1\u 1\u 1\u,
shipmentpu3.采购订单id为purchase2\u 21\u 3\u,
shipmentpu3。装运id为shipment3\u 21\u 3\u,
shipmentpu3。装运id为shipment3\u 21\u 2\u,
shipmentpu3.id为id1\u 21\u 2\u,
地址TBL4。地址第1行作为地址第2行、第0行和第4行,
地址TBL4。地址行2作为地址3\u 0\u 4,
地址TBL4。地址行3作为地址4\u 0\u 4\u,
地址TBL4。地址第4行作为地址第5行第0行第4行,
地址为城市6\u 0\u 4,
地址TBL4公司名称为公司7 0 4,
地址TBL4。联系方式:电子邮件联系方式:联系方式:联系方式:,
地址TBL4。联系人姓名为联系人,
地址TBL4。联系电话作为联系人10\u 0\u 4,
地址为国家11\u 0\u 4,
地址TBL4。邮政编码为邮政12 0 4,
地址TBL4。时区id为time ZOO13\U 0\U 4,
地址。标题为标题14\u 0\u 4,
日程安排