Я использую Hibernate версии 3.3.1 и jtds 1.2.2 в качестве драйвера JDBC и c3p0 версии 0.9.1.2 для пула соединений для подключения к SQL Server.
Мой запрос выполняется около 12 секунд. Когда я запускаю запрос, я получаю следующее исключение
ОШИБКА [основная] (JDBCExceptionReporter.java:101) — Недопустимое состояние, объект Connection закрыт. org.hibernate.exception.GenericJDBCException: не удалось проверить режим автоматической фиксации JDBC в org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) в org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) в org .hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) в org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) в org.hibernate.jdbc.JDBCContext.afterNontransactionalQuery(JDBCContext.java:275) в org.hibernate.impl.SessionImpl.afterOperation(SessionImpl.java:444) в org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1728) в org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165) в org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175)
Если я изменю запрос, чтобы он возвращал небольшой набор данных, я не получаю исключения. Кажется, есть какая-то проблема с конфигурацией.
В моем файле hibernate.properties у меня есть следующие значения конфигурации
hibernate.format_sql=true
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.optimistic-lock=true
hibernate.connection.autocommit=true
hibernate.show_sql=false
hibernate.generate_statistics=false
c3p0.acquire_increment=1
c3p0.idle_test_period=1000
c3p0.max_size=10
c3p0.max_statements=0
c3p0.min_size=5
c3p0.timeout=800
Не могли бы вы подсказать, какие параметры необходимо установить для запуска долго выполняющегося запроса?
Спасибо