Я использую JPA и Hibernate для своего проекта.Иногда это прекрасно работает.Иногда получаю внутреннюю ошибку сервера - PullRequest
0 голосов
/ 10 апреля 2019

Я использую Hibernate в моем проекте.Используя нетерпеливый выбор.Если я использую Lazy fetch, получаю ошибку.Но иногда хочется получить внутренний сервер.Как справиться с этим?

@OneToMany(mappedBy="healthHomeService",cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphanRemoval=true)

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

RC = "-911" в DB2 означает, что произошла тупиковая ситуация.Это прерывисто из-за природы одновременных потоков, пытающихся обновить один и тот же ресурс в DB2

Из руководства по DB2: SQL0911N Текущая транзакция откатилась из-за тупика или тайм-аута.Код причины Код-причины

Похоже, ваша бизнес-логика обновляет базу данных на том же ресурсе, что вызывает взаимные блокировки
Измените код так, чтобы он не вызывал взаимоблокировки или измените уровень изоляции, чтобы избежать таких ситуаций, или измените способ отображения отношений в JPA, чтобы избежать обновлений

0 голосов
/ 11 апреля 2019

В журнале ошибок, когда происходит эта внутренняя ошибка сервера, я не вижу никаких сообщений об ошибках. Это происходит при попытке сохранить транзакцию или найти получателя.

Но другие ошибки, которые я получаю от sys.out

4/10/19 15: 17: 05: 744 EDT] 000004f6 SqlExceptionH Z org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions Ошибка SQL: -911, SQLState: 40001 [10/10/19 15: 17: 05: 760 EDT] 000004f6 SqlExceptionH Z org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions Текущая транзакция откатилась из-за тупика или тайм-аута. Код причины "2" .. SQLCODE = -911, SQLSTATE = 40001, DRIVER = 4.19.77 [10/10/19 15: 17: 05: 760 EDT] 000004f6 AbstractBatch Z org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release HHH000010: при выпуске пакета он все еще содержал операторы JDBC

com.ibm.db2.jcc.am.SqlException: [jcc] [10120] [10943] [4.19.77] Недопустимая операция: оператор закрыт. ERRORCODE = -4470, SQLSTATE = null

Для кода ошибки 4470 я установил alllowExhaustedresultset = yes в веб-сфере.

Но, тем не менее, он не исправляется полностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...