0

MyBatis と Javars (Spring を使用) を統合して動作させるのに問題があります。http://javers.org/documentation/spring-integration/の指示に従い、Aspect のセットアップを取得し、エンティティ クラスにアノテーションを付けて Javars に登録し、MyBatis インターフェースに @Repository と @JaversAuditable で正しくアノテーションを付けました適切な方法ですが、まだ動作していません。Javars アスペクトにブレークポイントを設定しても、何もトリガーされません。

また、 http://www.mybatis.org/mybatis-3/configuration.html#pluginsに従って、MyBatis プラグイン インターセプターを使用して別の方法で行ったこともあります(その後、http://www.mybatis.org/を使用しました)。コミットの基本的な例としてspring/xref-test/org/mybatis/spring/ExecutorInterceptor.htmlを参照してください)。しかし、それがトリガーされている間、それは私が期待したことをしていません。基本的には、どのエンティティがコミットされているかを含むのではなく、ブール値を取る commit メソッドの側面にすぎません。update/insert MyBatis メソッドにインターセプターを追加し、それを ThreadLocal などに保存して、コミット/ロールバックが呼び出されたときに必要に応じて Javars に渡すことができると思いますが、それは面倒です。

これらの 2 つの方法のいずれかで見逃したものを誰かが見ることができない限り、ここからどこへ行くべきかわかりません。

4

1 に答える 1

0

そのため、混乱の中で、MyBatis はマッパー インターフェイスの具象オブジェクトを生成するため、Spring は決してそのオブジェクトを作成しているようには見えず、最終的なオブジェクトがコンテキストで Bean として登録されているだけであることに気付きました。したがって、Javers は、Bean が作成されたときに、プロキシや不必要なことを行うために Bean を処理する機会がありません。

だから、愚かな私。そのため、ほとんど呼び出しを Mapper に渡すだけの Spring-Data @Repository レイヤーを作成することになりました。更新時には、DAO shim レイヤー (私が呼んでいるように) がうまく機能するいくつかの余分なビットを実行しています。

于 2016-03-30T20:39:13.463 に答える