2015-10-21 2 views
0

У меня есть базовые Envers, и я понимаю, как получить что-то вроде имени вызывающего пользователя в Revision Entity, поскольку это эффективные статические данные. Но как добавить комментарий, созданный динамически пользователем для данной версии?Добавление комментария к NHibernate Envers Редакция Entity

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

TIA.

ответ

1

Вы пишете, что знаете, как установить какое-то имя пользователя, совершившего транзакцию. Я думаю, поэтому вы знаете об интерфейсе IRevisionListener - там вы можете изменить объект ревизии до его сохранения.

В зависимости от того, на каком хосте/клиенте/процессе вы запускаете приложение, вам необходимо установить «комментарий» в некоторой подходящей области. Предполагая, что вы используете веб-приложение, вы можете, например, установить комментарий на какой-то элемент HttpContext и получить это значение в своем IRevisionListener.

+0

Вы правы, и я понял, как реализовать IRevisionListener, но мне не понравился тот факт, что слушатели в примерах должны были обратиться к некоторой структуре, чтобы получить данные. В конце концов, я не нашел лучшего способа, чем просто сделать Comment статическим членом класса слушателя, установить его в моем приложении и затем скопировать его в информацию о ревизии в слушателе. – Michael