Перехватчики nhibernate с контекстом домена - PullRequest
2 голосов
/ 03 марта 2010

Можно ли (в чистом виде) создать перехватчик аудита в hibernate 2.1 и передать ему контекст домена?

Чего я хотел бы добиться, так это установить дату и время (это можно сделать легко, peasy - можно найти статьи loadsa после быстрого поиска в Google), но установить объект, например, пользователь, который создал элемент или изменил сущность, которую мне еще предстоит найти, что бы это покрывало.

Поскольку я не буду знать объект при запросе / запуске приложения (где я должен зарегистрировать перехватчик nhibernate), кто-нибудь знает о подходящем обходном пути?

Заранее спасибо, Марк Н

1 Ответ

2 голосов
/ 03 марта 2010

Вы можете сохранить пользователя в текущем сеансе (HttpContext.Session) или использовать данные thread local. Затем он может быть доступен слушателю. Если вы выберете локальный подход для потока, вам нужно установить if для каждого запроса, например, с HttpModule. Не идеально, но вот как я видел, как это сделано в java (не совсем то же самое, но похожий подход).

...