Я работаю с приложением, использующим Hibernate, подключенным к базе данных Oracle.
Мне нужно сделать вызов процедуры PL / SQL в начале каждой транзакции (чтобы активировать некоторые политики, которые зависят от того, кто открывает транзакцию).
Я думал, что делаю это, используя перехватчик гибернации , но в методе afterTransactionBegin()
у меня нет доступа к соединению с БД, на котором я могу выполнить свой вызов процедуры.
Пока что я использую aop-перехватчик в методах getConnection (*) моей реализации DataSource, но это не совсем удовлетворительно, потому что эти методы вызываются в некоторые другие моменты (например, при создании моего EntityManagerFactory), когда я надеваю недостаточно информации для вызова моей процедуры PL / SQL.
Знаете ли вы какой-либо механизм, чтобы сделать что-то подобное?