Spring boot app, необходимо устанавливать переменную сеанса базы данных перед каждой транзакцией - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение весенней загрузки, которое использует объекты Hibernate / JPA. Мне нужно запустить немного SQL, чтобы установить переменную сеанса базы данных перед каждой транзакцией. Эта переменная сеанса управляет безопасностью на уровне строк на уровне базы данных, поэтому SQL будет использовать параметр веб-сеанса, который я могу извлечь из контекста весеннего веб-сеанса. Мне нужно, чтобы этот бит sql выполнялся по существу перед каждой транзакцией.

Я бы хотел сделать это так, чтобы это не влияло на каждую дополнительную часть бизнес-логики c. т.е. я бы предпочел не вызывать метод вручную из каждого класса репозитория.

Я видел класс ConnectionPreparer в проекте spring-data-jdb c -ext (https://github.com/spring-projects/spring-data-jdbc-ext/blob/master/spring-data-jdbc-core/src/main/java/org/springframework/data/jdbc/support/ConnectionPreparer.java). Однако кажется, что этот класс вызывается только при первом создании соединения, а не перед каждой транзакцией.

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