2009-05-25 7 views
0

変更された行ID(主キー)、テーブル名、列名、以前の値、新しい値、変更日(タイムスタンプ)、および日付を格納するAuditEventというテーブルを使用して、操作タイプ(挿入/更新/削除)および変更を行ったユーザーの名前。iBATISを使用して監査インターセプタを実装する方法は?

SQL Server 2005を使用していますが、接続プールを使用しているため、現在のユーザーを見つけるのが難しいため、トリガーは使用しません。

インターセプタに基づくHibernateソリューションは非常に簡単です。 iBATIS/iBATORを使用する際に、同様のことを行うにはどうすればよいですか?

答えて

0

springを使用している場合は、SqlMapClientDaoSupportを使用して、使用しているトランザクションのサポートで監査をラップするテンプレートDaoオブジェクトを書き込むことができます。そうでなければ、iBatis DAOというiBatis Doaテンプレート・オプションがあります。これは減価償却されているので、あなたはSpringでより良いことがあります。

+0

私はすでにiBatorによって生成されたDAOを持っていますが、手作業ですべてをコーディングするために必要なアスペクト指向の機能を提供していないため、まったく役に立ちません。 これは私の解決策でしたが、挿入/更新されたオブジェクトの変更された属性を見つけてログに記録するためにリフレクションを使用するDAOのカスタムコードのカスタムコードです。 – muriloq

+0

@muriloqこれは可能かどうかは考えていませんが、Spring AOPのサポートを見たいと思うかもしれません。トランザクションの例は、監査に役立つ可能性があります。 – sal

関連する問題