Я думаю, что это простой вопрос, но мой поиск по нему слабый.
У меня была проблема, описанная в следующей ссылке в отношении сгенерированного идентификатора и каскадирования:
https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html (внизу)
Я исправил это, используя предложенный метод Перехватчика. Кажется, все работает, и я счастлив.
Тем не менее, я понятия не имею, каково значение возвращаемого значения от таких методов, как:
public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnLoad();
return false;
}
public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types)
{
if (entity is Persistent) ((Persistent)entity).OnSave();
return false;
}
В обоих случаях возвращается false.
Когда я гуглю о перехватчиках NHibernate, я вижу множество примеров того, как их написать. Некоторые вместо этого возвращают true (http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx). Я не знаю, в чем здесь разница. Мой код работает, но перехватчики кажутся мне полезными, поэтому я хотел бы иметь лучшее понимание.