2015-03-16 1 views
0

У меня есть этот код, где я создаю собственный запрос и при выполнении собственного запроса я использую метод setMaxResults.неверный sql-запрос, созданный с помощью 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

Я * думаю * в родных запросах вам придется писать также часть смены/разбивки на страницы вручную. Я думаю, что спецификация JPA не требует его явно, хотя я бы ожидал, что она сработает. Не могли бы вы рассказать мне, какую версию Hibernate вы используете? –

ответ

0

Почему вы передаете Integer.MAX_VALUE в setMaxResults()? Это не имеет смысла. Попробуйте удалить его или передать значимое число, например setMaxResults (30).

+0

Объем данных, который я должен получить, огромен, и я хочу убедиться, что это не больше, чем Integer.MAX_VALUE – Ngupta

Смежные вопросы