标签:div 参与 业务 名称 test family builds 删除 tom
Hibernate 在执行持久化的过程中,应用程序通常无法参与其中,通过事件框架,Hibernate 允许应用程序能响应特定的内部事件,从而允许实现某些通用的功能,或者对 Hibernate 进行扩展。
? ?
private static SessionFactory curSessionFatory;
? ?
static {
Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties());
? ?
// 增加拦截器
configuration.setInterceptor(new TestInterceptor());
? ?
curSessionFatory = configuration.buildSessionFactory(registryBuilder.build());
}
通常推荐使用第三种方法实现自己的事件监听器,默认的事件监听器如下:
组成自定义事件监听器,Hibernate 提供了一个 EventListenerRegistry 接口,该接口提供如下三类方法来注册事件监听器:
示例代码如下:
static {
Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties());
curSessionFatory = configuration.buildSessionFactory(registryBuilder.build());
// 获取 EventListenerRegistry 接口
EventListenerRegistry elr = ((SessionFactoryImpl)curSessionFatory).getServiceRegistry().getService(EventListenerRegistry.class);
// 注册自定义监听器
elr.appendListeners(EventType.LOAD, new CustomerListener());
}
? ?
标签:div 参与 业务 名称 test family builds 删除 tom
原文地址:http://www.cnblogs.com/li3807/p/6358393.html