HDa*_*ave 4 java dns audit persistence jpa
我的应用程序使用大型域对象树,对于大多数这些对象,我想保留一些基本信息(更新,修改时间等).我已经将这些属性和列添加到我的应用程序中.
当我想到持久层应该透明地处理它时,我正要在所有各种构造函数等中编写这些值的设置.
但是怎么样?
我当然可以在我的DAO中执行此操作,但是如何处理通过级联保存的对象?有没有办法拦截那些persist()方法?
什么是实现此功能的好方法?
如果您打算将JPA用于审计,则可以依赖PrePersist和PreUpdate回调注释.在JPA维基具有一个这样的例子.在这种情况下,它有助于拥有映射的超类,否则您将继续通过"用户"空间代码执行此操作.
另一种方法是在表上使用触发器(ahem).但这确实会对性能产生影响.该Openbravo的ERP项目似乎使用这种方法产生的审计线索.
更新:将审计功能分离到不同的类(除了域模型的超类之外)是个好主意.JPA事件监听器将帮助您实现相同的目标.这里有一个很好的例子.
| 归档时间: |
|
| 查看次数: |
2481 次 |
| 最近记录: |