5

NHibernate Interceptor とは何ですか? また、アプリケーションでどのような目的に使用されますか?

また、この記事では、NHibernate を使用するとデスクトップ アプリケーションの起動が遅くなることがわかったので、これを回避するには、構成をファイルに保存し、後で保存したファイルから読み込む必要があります。どうやってやるの?そのチュートリアルには例が見つかりませんでした。

4

3 に答える 3

9

インターセプターを使用すると、エンティティがDBに取得/削除/更新/挿入されたときに、追加の機能を実行できます...

インターセプターの記事

Hibernateドキュメント

その他の役立つ情報

アプリの速度を落とすことについて:起動時間が本当に問題になる場合は、起動時間の最適化のみを検討することをお勧めします。

セッションファクトリを構築すると、NHibernateはすべてのマッピングを解析します。これは、少しコストのかかる操作です。ただし、エンティティの数が限られている限り、パフォーマンスへの影響はそれほど大きくありません。
起動時間が遅いため、NHibernateの初期化を最適化する必要はありませんでした。

最初にアプリケーションのコア(解決しようとしている問題)に集中し、その後、起動パフォーマンスを改善する方法を検討することをお勧めします。(あなたがそれをしなければならないなら)。

于 2010-01-09T16:32:31.663 に答える
7

インターセプターは、名前自体が示すように、NHibernate 操作 (保存/更新/削除/ロード/フラッシュなど) をインターセプトできるようにします。

これを実現するための、より柔軟な新しい API がイベント システムです。

構成のシリアル化については、コードがありEffectus.Infrastructure.BootStrapperます。これは、アプリケーションの起動時に呼び出されるクラスです。

于 2010-01-10T00:58:24.407 に答える
4

私が書いたインターセプターの解剖シリーズは、ここ http://blog.scooletz.com/2011/02/03/nhibernate-interceptor-magic-tricks-pt-1/にあります。

それが役に立てば幸い

于 2012-02-19T16:27:45.197 に答える