Ведение журнала Java Audit, MySQL эквивалент CONTEXT_INFO - PullRequest
1 голос
/ 31 марта 2010

Я ищу MySQL-эквивалент CONTEXT_INFO, который присутствует в SQL Server. Или любую другую переменную сеанса, например, с помощью которой я могу передать имя пользователя триггеру.

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

Есть идеи? В некоторых случаях мы удаляем строки из таблицы и помечаем их как удаленные в других.

Любые альтернативные решения приветствуются. Я думал об использовании АОП, но это может оказаться проблематичным при удалении каскада. Я хочу посмотреть на Hibernate Interceptors, но не уверен, что в данный момент это работает.

Если я смогу найти в MySQL эквивалент CONTEXT_INFO, моя работа будет выполнена и элегантно.

Спасибо

Julia.

1 Ответ

1 голос
/ 31 марта 2010

Вы сможете получить текущего пользователя с помощью функции USER (). Подробнее см. Документ .


Хорошо, я не совсем понял, о чем вы спрашиваете. Я думаю, что вы, возможно, захотите взглянуть на поддержку MySQL для пользовательских переменных уровня соединения . В основном, в соединении, которое будет запускать UPDATE / INSERT / DELETE, но перед тем, как будет выполнен фактический запрос, вам нужно выполнить оператор set SET @user = 'my_user_id'. Тогда вы сможете использовать @user в качестве пользователя вашего триггера.

...