0

我的 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 范围的拦截器的任何建议?

4

1 回答 1

0

关于什么:

final Metadata md = mds.buildMetadata();
SessionFactory sf = md.getSessionFactoryBuilder().with(interceptor).buildSessionFactory();
于 2012-03-27T08:06:50.820 回答