Идентификатор сопоставления QueryDSL с использованием «in» не работает для огромной коллекции списковJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Идентификатор сопоставления QueryDSL с использованием «in» не работает для огромной коллекции списков

Сообщение Anonymous »

Привет, я пытаюсь получить записи на основе условия, присутствует ли определенный идентификатор в специально предоставленном списке... запрос работает нормально для списка записей размером 15 КБ.... но когда я передаю список большего размера, он не получается... я знаю, что в postgresSQl есть ограничение при попытке использовать предложение in... но я не знаю, как это преодолеть... любая помощь будет очень признательна..

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

 public JPAQuery matchStudentResults(final List studentNames, final List studentCodes) {

JPAQuery tupleJPAQuery = queryFactory.select(name, code, id,effectiveDate,studentAddress,sharedCourses).from(qStudentProperty).distinct().where(
code.in(studentCodes).or(name.in(studentNames)).and(effectiveJoiningDate.eq(SimpleDateValidator.getDate(StudentConstants.EFFECTIVE_START_DATE))));

}
Как показано выше, списки StudentNames и StudentCodes представляют собой настраиваемые списки с данными, поступающими из файлов, а не из БД.... приведенный выше запрос работает нормально, когда размер списков меньше 15 КБ. Но происходит сбой, когда размер списка больше... я новичок в queryDSL и не знаю, как преодолеть эту ситуацию..

Подробнее здесь: https://stackoverflow.com/questions/681 ... collection
Ответить

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

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

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

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

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