【问题标题】:Journalize operations done on objects in database对数据库中的对象执行的日志化操作
【发布时间】:2014-08-01 16:18:16
【问题描述】:

我想知道是否有一个 java 框架可以记录对对象执行的操作,然后将它们保存在数据库中。

事实上,我正在开发一个应用程序,其中特定对象经历许多操作,每个操作都在改变其逻辑(根据用户的不同,可能会在对象上应用许多控制)。

现在,我想跟踪对该对象执行的控制或操作,并将它们存储在新表中,仅用于统计。我认为这可以在不修改应用程序的整个现有代码的情况下实现。我的意思是它可以被看作是一个垂直层......

我已经看过hibernate拦截器的描述,但我不确定它是否能满足我的需求

我还想知道我正在使用 spring core 和 hibernate..

任何人都对满足我需要的 java 框架或 API 有想法

提前谢谢..

【问题讨论】:

  • -> envers.jboss.org 请注意,关于库、工具等的问题通常被认为与 SO 无关。
  • 谢谢,我不知道,这已被正式注明

标签: java spring hibernate logging statistics


【解决方案1】:

我相信Hibernate Interceptors 可以为您提供帮助。但是,您的实体可能需要进行一些更改,因为拦截器在保存所有实体时起作用,您必须通过向它们添加自定义注释来让拦截器知道您对保存其中一些实体不感兴趣。

其他方法是使用Spring AOP,您可以在不接触任何代码的情况下记录工作,但要做到这一点,您需要已经在您的环境中使用 spring。

其他方法可以使用traditional Servlet 过滤器来做到这一点。

Hibernate Event handlers的概念,你也可以查一下。

【讨论】:

  • 感谢您的回答。我确认我使用的是 spring,但是当我谈到操作时,我并不是指在对象上完成的 CRUD,而是在对象在应用程序方法中传输时完成的控件,并且最终没有存储在实体属性中(如果需要,可以使用 TABLE)
猜你喜欢
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多