Когда hibernate закрывает курсор?

1

Недавно я работаю над проектом Spring + Hibernate с Oracle. Я узнаю, что всегда открыты сотни курсоров одновременно. У меня нет возможности решить эту проблему. Может ли кто-нибудь дать мне несколько советов? или некоторые ссылки?

PS: Я знаю, что это не очень хороший вопрос, но мне было трудно найти точный документ, и у меня нет времени для работы во всех спящих документах в настоящее время.

PS2: Я использовал в проекте много критериев и обычного запроса выбора.

Теги:
hibernate

2 ответа

0
Лучший ответ

Если вы используете Hibernate 4.3.0.Final, вы, вероятно, испытаете известную ошибку в спящем режиме:

https://hibernate.atlassian.net/browse/HHH-8811

Как видно из ссылки, эта ошибка вызывает слишком много открытых курсоров.

Переключение на версию 4.3.1. Final решает проблему.

1

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

Проверьте это обсуждение, оно показывает, как это работает: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::P11_QUESTION_ID:1041031921901

Ещё вопросы

Сообщество Overcoder
Наверх
Меню