2011-09-15 12 views
0

が機能していません。すべての手がかりは?ここで私にHibernateインターセプタは、私は以下の以下の構成を有する

はインターセプタコードです:

public class MyHibernateInterceptor extends EmptyInterceptor { 

    @Override 
    public boolean onFlushDirty(final Object entity, final Serializable id, 
          final Object[] currentState, final Object[] previousState, 
          final String[] propertyNames, final Type[] types) { 
    setValue(currentState, propertyNames, "createdOn", new Date()); 

      return true; 
    } 
} 
+1

一見では大丈夫です。あなたのインタセプタはどうですか?あなたは 'EmptyInterceptor'を拡張しますか?はいの場合、どのメソッドをオーバーライドしますか?多少のコード​​を表示するかもしれません。 – jeha

答えて

2

同じ問題に直面しながら、私はこの質問を見つけました。私のonSave()はうまくいきましたが、私のonFlushDirty()はそうではありませんでした。私は、saveOrUpdate()の後にflush()を呼び出す必要があることを発見しました。振り返ってみると、それは明らかですが、当時ではありませんでした。

これが役に立ちます。

0

は、セッションにintercepetorを入れても、あなたが迎撃にsessionbuilderを使用することができます持っている:

SessionFactory sessionFactory = getSessionFactory(); SessionBuilder sessionBuilder = sessionFactory.withOptions(); Session session = sessionBuilder.interceptor(interceptor).openSession(); interceptor.setSessionBuilder(sessionBuilder); 

あなたのインターセプタ必須クラスorgのは、あなたが実装するあなたのビジネス環境に応じてEmptyInterceptor

を休止拡張しますそれらのメソッドondave ondlete postflush ondeleteなど

関連する問題