2009-05-25 44 views
0

我想使用名爲AuditEvent的表來記錄數據庫中的所有更改以用於審計目的,該表存儲修改後的行ID(主鍵),表名,列名,以前的值,新值,更改日期(時間戳),操作類型(插入/更新/刪除)以及執行更改的用戶的名稱。如何使用iBATIS實現審計攔截器?

我正在使用SQL Server 2005,但我不想使用觸發器,因爲我使用連接池時很難找到當前用戶。

基於Interceptor的Hibernate解決方案非常簡單。如何在使用iBATIS/iBATOR時做類似的事情?

回答

0

如果您使用spring,您可能可以使用SqlMapClientDaoSupport編寫模板Dao對象,該對象會將審計封裝爲您正在使用的任何事務支持。如果沒有,則有一個iBatis Doa模板選項,即iBatis DAO。這已經貶值,所以你可能會更好與春天。

+0

我已經擁有由iBator生成的DAO,但它們根本沒有幫助,因爲它們不提供任何面向方面的功能,這是手動編寫所有代碼所必需的。 這就是我的解決方案,BTW:DAO自定義代碼,它使用反射來查找和記錄插入/更新對象的修改後的屬性。 – muriloq 2009-07-13 18:23:48