Hibernate, Postgres и проблема извлечение большого ResultSet

 
 
 
Сообщения:35
Здравствуйте. Пытаюсь получить набор интовых ID простым способом
        Session session = HibernateUtil.getSession();
        session.beginTransaction();
        Query query = session.createQuery("SELECT objectId FROM Task WHERE templateId = :templateId AND templateType = :templateType");
        query.setParameter("templateId", templateId);
        query.setParameter("templateType", TemplatesConstants.TYPE_WS_CONTENT_DISCOVERY);
        List<Integer> idsToIgnore = query.getResultList();
        session.getTransaction().commit();

И сегодня утром начал получать ошибку
Quote:
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet

Проблема оказалась в том, что записей попадающих под запрос стало больше 3к (под разными условиями число плавает, но вроде бы рубеж 3000). Падать с подобной ошибкой стали все запросы которые извлекают по многу этих сущностей или их полей.
В логе постгреса только ошибки "could not send data to client: Connection reset by peer" и "connection to client lost". Т.е. баг на стороне гибернейта.

Текст ошибки очень распространен по гуглу и гугление даёт только мусор связанный с множеством других багов. На сколько я понял, нужно поднять как-то лимит сета для гибернейта. Но настроек нагуглить не смог. Подскажите пожалуйста.
 
 
Сообщения:9895
Kuzya59:
Т.е. баг на стороне гибернейта
Или на стороне драйвера. Или вовсе не баг. Как правило 3К записей из БД никто не тянет, вместо этого используют постраничную выборку.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет