Creo que esta es una pregunta fácil, pero mi Google es débil en esto.NHibernate: Significado de los interceptores return value
I tenían el problema descrito en el siguiente enlace en relación con un ID generado y en cascada:
https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html (hacia la parte inferior)
me fijo utilizando su método sugerido de un interceptor. Todo parece estar funcionando, entonces estoy feliz.
Dicho esto, no tengo ni idea de cuál es el significado del valor de retorno es de métodos tales como:
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;
}
En ambos casos se devuelve false.
Cuando busco en NHibernate Interceptors, veo muchos ejemplos de cómo escribir uno. Algunos en cambio devuelven verdadero (http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx). No tengo idea de cuál es la diferencia aquí. Mi código funciona, pero los Interceptores me parecen útiles, así que me gustaría tener una mejor comprensión.
Por cierto, el interceptor se interrumpe y se reemplaza con el sistema de eventos. Desafortunadamente, el sistema de eventos está aún menos documentado. Pero aún debes encontrar alguna documentación útil. –