我的 Java 应用程序使用 Hibernate 和 SessionFactory 范围的拦截器,以便在存储到数据库之前更改数据。
myConfiguration.setInterceptor(new MyInterceptor());
SessionFactory sf = myConfiguration.buildSessionFactory();
随着 hibernate 4.0 的发布,他们改变了使用类配置的概念。
所以我的新方法是:
final ServiceRegistryBuilder srb = new ServiceRegistryBuilder();
srb.configure(...); // Hibernate configuration
final ServiceRegistry sr = srb.buildServiceRegistry();
final MetadataSources mds = new MetadataSources(sr);
mds.add...(); // All the meta data configurations
final Metadata md = mds.buildMetadata();
SessionFactory sf = md.buildSessionFactory();
我还没有找到用这种新方法设置拦截器的地方。关于如何设置 SessionFactory 范围的拦截器的任何建议?