Я нашел некоторую информацию о слушателях NHb онлайн, таких как эта документация: http://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/event/package-summary.html, но этого недостаточно, чтобы понять, как они работают. Это вопросы, касающиеся, скажем, PostUpdateEventListener
. Мне не удалось найти ответы на следующие вопросы:Вопросы о слушателях NHibernate
1) Разве это не работает, когда мы вызываем Session.Save(entity)
без каких-либо изменений для объекта, я имею в виду, когда в базе данных нет сценария обновления SQL? Если это так, есть ли какое-либо событие/прослушиватель Nhb для отслеживания фактического обновления базы данных, с заявлением UPDATE
, работающим только на db? Наша организация настроена с DynamicUpdate()
, если это имеет значение.
2) Что делать, если у нас есть отдельный вложенный объект, такой как [Имя] (не компонент, хранящийся в отдельной таблице) или список объектов, к которым относится наш прослушиваемый объект, такой как [Лицо]. Теперь мы обновляем имя пользователя, не внося никаких изменений в свойства объекта [Person]. Будет ли вызываться PostUpdateEventListener
для [Person], если мы запустим Session.Save(person)
, или он запускается только один раз для [Name]?
Возможно, кто-нибудь может дать мне ссылку на ясную, хорошо описанную онлайн-документацию, в которой объясняются слушатели в хороших подробностях и ответы на такие вопросы. Благодаря
http://ayende.com/blog/3987/nhibernate-ipreupdateeventlistener-ipreinserteventlistener http://nhibernate.info/doc/howto/various/changing-values-in-nhibernate-events.html –