2

データベースへの変更を監視するサーバー側アプリケーションを作成しています。これを Hibernate で行う予定です。リスナーをセットアップして、データに変更が加えられた場合、登録されているオブザーバーに更新があることを通知し、それをプルする別のリクエストを送信できるようにしたいと思います。

Hibernate envers と AuditEventListener について読みました。私の質問は、私のアプリケーションはデータを取得するだけで設定しないので、Envers リスナーは私のアプリケーションによって行われたのではないテーブルの変更をリッスンできますか?

4

1 に答える 1

1

更新しました:

いいえ、リスナーは、Enverslisteners が設定された Hibernate セッションによって行われた変更のみをリッスンする NHibernate の単なるフックです。

探しているのは、トリガーまたはデータベース イベントです。トリガーを使用してPostgresqlで概念実証を行いましたが、listenこれnotifyは特定の条件下で機能するようです。Postgresql の場合でも、使用されるアーキテクチャは、何らかの通知システムをサポートするすべての SQL データベースで同じです。

オラクルの場合:

  • 変更のコールバックを作成するここを参照
  • いくつかのテーブルに変更情報を書き込む
  • アプリの変更情報テーブルをポーリングして、変更があるかどうかを確認し、それらを処理します
于 2012-01-11T13:06:47.657 に答える