我有这个代码,我在创建一个本机查询,在执行本机查询时,我使用的是setMaxResults方法。
List<?> resultList = (List<?>) getEntityManager(speedwingCustId, loggedInUserId).createNativeQuery(statement).setMaxResults(Integer.MAX_VALUE).getResultList();
这是我在上述代码之前的陈述:
( SELECT IQV.VERSION_ID AS VERSION_ID FROM ITEM_QUERY_VIEW IQV WHERE AVAILABLE_VALUE_ID IN (15611 ) AND EQUIPMENT_AVAILABILITY_ID = 1 AND REGION_ID IN (5 , 8 , 10 , 14 , 21 , 20 , 23 , 24 , 26 , 35 , 33 , 39 , 45 , 55 , 54 , 53 , 52 , 63 , 62 , 61 , 68 , 71 , 64 , 65 , 76 , 72 ) AND VEHICLE_TYPE_ID IN (1 , 2 , 3 , 4 , 5 , 6 , 7 ) GROUP BY VERSION_ID HAVING COUNT (DISTINCT(AVAILABLE_VALUE_ID)) = 1 )
执行时这是我的查询:
Hibernate: ( SE TOP(?)LECT IQV.VERSION_ID AS VERSION_ID FROM ITEM_QUERY_VIEW IQV WHERE AVAILABLE_VALUE_ID IN (15611 ) AND EQUIPMENT_AVAILABILITY_ID = 1 AND REGION_ID IN (5 , 8 , 10 , 14 , 21 , 20 , 23 , 24 , 26 , 35 , 33 , 39 , 45 , 55 , 54 , 53 , 52 , 63 , 62 , 61 , 68 , 71 , 64 , 65 , 76 , 72 ) AND VEHICLE_TYPE_ID IN (1 , 2 , 3 , 4 , 5 , 6 , 7 ) GROUP BY VERSION_ID HAVING COUNT (DISTINCT(AVAILABLE_VALUE_ID)) = 1 )
我正在使用MSSQL服务器并使用JPA。
答案 0 :(得分:0)
为什么要将Integer.MAX_VALUE传递给setMaxResults()?这没有意义。尝试删除它或传递有意义的数字,例如setMaxResults(30)。