これは簡単な質問だと思いますが、私のグーグルはこれに弱いです。
生成されたIDとカスケードに関して、次のリンクで説明されている問題がありました。
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 Interceptorsについてグーグルで検索すると、その書き方の例がたくさんあります。代わりにtrueを返すものもあります(http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx)。ここで何が違うのかわかりません。私のコードは機能していますが、インターセプターは私には役立つように思われるので、よりよく理解したいと思います。