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、通过注解方式(测试通过)
@Component
public class HibernateEventWiring {
@Autowired
private SessionFactory sessionFactory;
@Autowired
private LogListener logListener;
@PostConstruct
public 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);
}
}
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....