记录对数据库中的对象执行的操作

时间:2014-06-11 14:38:51

标签: java spring hibernate logging statistics

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

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

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

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

我还想准备我正在使用spring core和hibernate ..

任何人都知道java框架或满足我需要的API

提前感谢..

1 个答案:

答案 0 :(得分:0)

我确定Hibernate Interceptors对您有所帮助。但是,您的实体可能需要经历一些变化,因为拦截器在保存所有实体时起作用,您必须让拦截器知道您不想通过向其添加自定义注释来保存其中一些实体。

其他方法是使用Spring AOP,您可以在不触及任何代码的情况下记录工作,但为此,您需要在您的环境中使用spring。

其他方式可能是使用traditional Servlet过滤器来执行此操作。

有一个Hibernate Event handlers的概念,你也可以查阅它。