我想向我的所有表中添加兩列[創建時間] & [修改時間]捕獲審計跟蹤。將來,這些字段可能用於分區表。請建議這樣做的最佳方法是什麼?通過DB上的某些觸發器或通過代碼更新這些值是否明智?我們正在使用Hibernate API與Oracle 11g進行對話。每行執行審計跟蹤的方法
1
A
回答
1
既然你已經使用Hibernate,看看Hibernate Envers:
的Envers項目旨在實現持久化類的容易審計/版本。你所要做的就是用@Audited註釋你想要審計的持久類或它的一些屬性。對於每個審計實體,將創建一個表格,該表格將保存對實體所做更改的歷史記錄。然後您可以毫不費力地檢索和查詢歷史數據。
這是更重量級的解決方案,但給你的應用程序完全控制。
或者,您可以通過Oracle PL/SQL觸發器來執行此操作,但您的應用程序對此有限制。
0
有利有弊。
個人而言,我使用觸發器。
雖然這樣做會導致一個有趣的邊界案例,但是如果您有一個主表和許多相關的表(您想要共享審計跟蹤)。說出與訂單相關的訂單+訂單行+ [大量其他相關表格]。在這種情況下,要審覈的有趣數據是訂單,因此訂單應該可以包含審計相關的細節。如果你有觸發器爲每個插入/更新/刪除命令行+ [很多其他相關表]觸發,那麼性能最終會受到影響。
相關問題
- 1. 跟蹤方法執行
- 2. VB6審計跟蹤
- 3. Oracle - 審計跟蹤
- 4. 如何跟蹤PHP中每行/每行塊/方法的執行時間?
- 5. 審計跟蹤表單
- 6. Telerik Open access審計跟蹤
- 7. 審計跟蹤技術
- 8. Umbraco審計跟蹤報告
- 9. 在提交之前跟蹤和執行同行評審的最佳方式
- 10. IBM Worklight Console - 在控制檯上執行的任務的審計跟蹤
- 11. 審計跟蹤的提取記錄
- 12. oracle 11g中的審計跟蹤設置
- 13. 帶內置審計跟蹤的ORM
- 14. JSP屏幕字段的審計跟蹤
- 15. 跟蹤執行線程
- 16. 執行跟蹤腳本
- 17. 跟蹤代碼執行?
- 18. 如何執行MSMQ跟蹤
- 19. 使用ServiceStack和ORMLite SQLServer進行審計跟蹤
- 20. 需要幫助,使用ATK框架進行審計跟蹤
- 21. 創建審計表,跟蹤每個更改的列
- 22. 跟蹤在asp.net中的方法的執行時間
- 23. 如何在asp.net中創建審計日誌/審計跟蹤mvc
- 24. Oracle數據庫審計跟蹤
- 25. 向SaaS平臺添加審計跟蹤
- 26. 審計跟蹤,但不會保存
- 27. EclipseLink審計/歷史/跟蹤更改
- 28. Oracle - 審計跟蹤生成器?
- 29. MySQL db審計跟蹤觸發器
- 30. 有什麼方法可以跟蹤C#中IQueryable的執行嗎?