jpa中查询的奇怪行为

时间:2015-09-13 19:32:26

标签: hibernate jpa

我不知道,为什么hibernate发送查询取决于我将通过gps2.user"从GPSPositions gps2组中选择多少来自此选择" SELECT max(gps2.id)的id。如果我得到两个id,hibernate将发送三个select。一个主要查询gps和两个查询以上id?#??我怎样才能使这个hibernate alwasy发送一个查询的查询取决于id的数量。

我将非常感激地提供任何帮助。 BTW - 查询发送到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
");

0 个答案:

没有答案