我遇到了同样令人沮丧的问题。Hibernate
4似乎从根本上改变了您注册事件的方式,而Spring组尚未赶上。这是我的基于注释的解决方案,使用init方法注册侦听器:
@Componentpublic class HibernateEventWiring { @Autowired private SessionFactory sessionFactory; @Autowired private SomeHibernateListener listener; @PostConstruct public void registerListeners() { EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry().getService( EventListenerRegistry.class); registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE).appendListener(listener); }}拦截器是另一种很好的方法,但是错误地放弃了对拦截器的支持:https
:
//jira.springsource.org/browse/SPR-8940



