2013-07-17 43 views
1

我正在做大量的rnd來做一個大項目的審計。該項目將完全藉助JPA和Hibernate的Spring框架來完成數據映射部分。對於審計,我遇到了各種功能和技術。 使用Hibernate攔截器。 使用Hibernate Event偵聽器。 Hibernate Envers Spring AOP。 我甚至嘗試創建和維護我自己的AUDIT表。Hibernate Envers-審計與否的正確選擇?

到目前爲止,我正在考慮Hibernate Envers作爲我最好的選擇,因爲它減少了手動編碼,其版本控制功能非常有趣。由於這是一項相對較新的技術,我沒有太多想法,而且我希望在將其作爲解決方案的一部分實施之前保持一定的把握。

那麼請給我建議哪種技術最適合? Hibernate Envers能夠處理複雜的業務場景嗎?需要一些專家的意見。

回答

1

Envers會跟蹤您的實體的每一個變化,並允許您查看完整的歷史記錄,因爲它創建了一個表來存儲您的實體在任何修訂狀態。根據您的實體多久更換一次以及有多少次,該表格可能會很快變大。然而,就像你上面所說的那樣,Envers可能是最簡單的解決方案,因爲你可以放入一些註釋並完成。

它主要取決於您的應用程序以及您想要記錄的內容。如果Envers太嘈雜或記錄不需要的額外信息,最好編寫自己的代碼來執行日誌記錄(或使用觸發器)。

+0

:我在Envers做了一個小型的poc。到目前爲止,這是我在這項技術中發現的唯一瓶頸。你能否也請通過這個問題。
[link] http://stackoverflow.com/questions/17781057/how-to-put-envers-annotations-into-xml-mapping-metadataorm-xml-file[/link] –

相關問題