Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Hibernate jpa中查询的奇怪行为_Hibernate_Jpa - Fatal编程技术网

Hibernate jpa中查询的奇怪行为

Hibernate jpa中查询的奇怪行为,hibernate,jpa,Hibernate,Jpa,我不知道,为什么hibernate会在中发送查询取决于我将从GPSPositions gps2组中通过gps2.user选择maxgps2.id获得多少id。如果我得到两个ID,hibernate将发送三个select。一个主要的gps查询和两个以上id查询??我如何优化hibernate发送的查询取决于ID的数量 我将非常感激任何帮助。 顺便说一句,查询被发送到oracle Query query = entityManager.createQuery(" From GPSPositi

我不知道,为什么hibernate会在中发送查询取决于我将从GPSPositions gps2组中通过gps2.user选择maxgps2.id获得多少id。如果我得到两个ID,hibernate将发送三个select。一个主要的gps查询和两个以上id查询??我如何优化hibernate发送的查询取决于ID的数量

我将非常感激任何帮助。 顺便说一句,查询被发送到oracle

Query query = entityManager.createQuery("
    From GPSPositions gps 
    WHERE gps.user <> 0 " +
    AND ( (substring(gps.szerokoscGeograficzna,0,1) <> 0) OR (substring(gps.dlugoscGeograficzna, 0,1) <> 0)) +
    AND (gps.czasBazy) > sysdate - 50/(24*60) 
    AND gps.id IN (SELECT max(gps2.id) from GPSPositions gps2 group by gps2.user)
    ORDER BY gps.szerokoscGeograficzna
");

准确记录对应的SQL语句的外观以及根据提供的参数生成的语句。除了属于Oracle的本机数据库函数sysdate之外,查询应该可以正常工作。sysdate不是有效的JPQL。当前_日期为。