Как делать страниц во время партии с JPAJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как делать страниц во время партии с JPA

Сообщение Anonymous »

Это мой метод JPA:

Код: Выделить всё

@Query("SELECT tkt FROM Tickets tkt WHERE tkt.viewer.id IN :viewerIds")
Page findPaginatedTicketsByViewerIdsIn(List viewerIds, Pageable pageable);
Проблема в том, что когда идентификаторы просмотра превышают размер 2100, я получаю следующую ошибку SQL:

Код: Выделить всё

2025-01-25T13:34:39.967+05:30  WARN 24032 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 8003, SQLState: S0001
2025-01-25T13:34:39.968+05:30 ERROR 24032 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : The incoming request has too many parameters. The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.
Единственное решение, которое я вижу, — это пакетная обработка, но затем, используя пакетное решение, я создаю новую проблему. Сортировка и разбиение на страницы на стороне Java.
Если, скажем, я получу 4000 идентификаторов просмотра, я дважды вызову метод jpa, а затем, если размер страницы равен 40, я получу 80 объектов после объединения двух пакетов.
Мне придется их еще раз рассортировать. Но я не вижу способа снова сортировать и разбивать на страницы с помощью Pageable Object.

Подробнее здесь: https://stackoverflow.com/questions/793 ... g-with-jpa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»