数据库通常用触发器生成审计日志,这种办法简便并且有着良好的性能,缺点也是十分明显的典型的一个特点是:不支持跨平台。
在Hibernare中也有类似触发器的东西,我们可以这样类比,他就是我们熟悉的拦截器----intercept。
Intercept位于org.hibernate.Intercept中
源码及其注释如下:
从这个接口可以知道拦截器就是拦截Hibernare的session所执行的一些方法,以及Hibernare中对象的状态的改变。
我们在自定义一个拦截器的时候一般会选择继承和拓展 EmptyInterceptor这个类。