2012-03-02 12 views
0

私のJavaアプリケーションは、データベースに格納する前にデータを変更するために、SessionFactoryスコープのインターセプタでHibernateを使用します。Hibernate 4 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

何について:

final Metadata md = mds.buildMetadata(); 
SessionFactory sf = md.getSessionFactoryBuilder().with(interceptor).buildSessionFactory(); 
+0

うん、これは解決策になるようです。残念ながら、この機能を文書化しているJavadocはHibernateにはありませんでした。大変ありがとう、ディミトリジャー! – WLanger

関連する問題