Прослушивание создания Hibernate Session - PullRequest
2 голосов
/ 11 апреля 2011

В моем коде есть ошибка, которая вызывает исключение гибернации, когда объект связывается с двумя открытыми сеансами при вызове session.lock().

Я использую Spring 3.0.4 с HibernateTemplate и Hibernate 3.6.0.

Я хотел бы иметь возможность перехватывать при создании сеанса, создавать / сохранять трассировку стека для сеанса, а затем использовать прокси для сеанса, чтобы при вызове close() очистка трассировки стека.

Я нашел этот вопрос , но это специально для веб-приложений. Я пролистал код статистики события / фабрики сеанса и код пружины, но не вижу подходящей точки подключения.

У кого-нибудь есть предложения сделать это?

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

Этот вопрос был размещен на этом форуме в другой среде (весна / грааль / спящий режим), но ответ может вам помочь.

По сути, прокси фабрика сессий и перехват вызовов getCurrentSession.

Подробнее здесь .

1 голос
/ 11 апреля 2011

Если цель состоит в том, чтобы отладить / устранить проблему, с которой вы столкнулись, - включение ведения журнала отладки для спящего режима Spring является более простым / лучшим вариантом. Вы сможете отследить, где открыт второй сеанс.

...