我的Java应用程序将Hibernate与SessionFactory范围的拦截器一起使用,以便在存储到数据库之前更改数据。
myConfiguration.setInterceptor(new MyInterceptor());
SessionFactory sf = myConfiguration.buildSessionFactory();
随着hibernate 4.0的发布,他们改变了使用类Configuration的概念。
所以我的新方法是:
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范围拦截器的任何建议吗?
答案 0 :(得分:0)
怎么样:
final Metadata md = mds.buildMetadata();
SessionFactory sf = md.getSessionFactoryBuilder().with(interceptor).buildSessionFactory();