首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring3 hibernate4 怎么支持EventListener 系统操作日志

2013-07-01 
spring3 hibernate4 如何支持EventListener 系统操作日志1、在spring3.1.0发布版本上是否支持Hibernate 4.X

spring3 hibernate4 如何支持EventListener 系统操作日志

1、在spring3.1.0发布版本上是否支持Hibernate 4.X版本的EventListener呢?

在spring3.1.0版本,针对hibernate3 通过查看LocalSessionFactroyBean的源码可以知道,有一个eventListenser的属性来设置EventListeners。但是在hibernate4中,查看LocalSessionFactroyBean源码去不支持EventListener。由于spring3.X 对hibernate4不支持这样的配置。我还是按配置hibernate3一样的方法配置hibernate4导致我浪费了一个上午的时间。hibernate4 改变了注册EventListener的方式。

?

2、hibernate4 注册eventListener的方式

1、通过注解方式(测试通过)

@Componentpublic class HibernateEventWiring {@Autowiredprivate SessionFactory sessionFactory;@Autowiredprivate LogListener logListener;@PostConstructpublic void registerListeners() {    EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry().getService(            EventListenerRegistry.class);    registry.getEventListenerGroup(EventType.POST_INSERT).appendListener(logListener);    registry.getEventListenerGroup(EventType.POST_UPDATE).appendListener(logListener);
 registry.getEventListenerGroup(EventType.POST_DELETE).appendListener(logListener);
}}

2、通过注解方式(未测试)

参考hibernate4 官方开发文档

http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html_single/#registering-listeners-example

?

?

热点排行