2017-05-28 4 views
0

私は、休止状態のエンバー(4.3.5バージョン)を扱っています。 条件付き監査の使用(15.8。休止状態のドキュメント) EnversIntegratorを継承して、私自身のcustomerEnversIntegratorを作成しました。これを使用するには を使用するため、META-INF \ services \ org.hibernate.integrator.spi.IntegratorにcustomerEnversIntegratorパスを追加しました。 正常に機能しました! 私はこれをデフォルトのままにしていましたが、META-INF \ services \ org.hibernate.integrator.spi.Integratorというアプリケーションを変更して、customerEnversIntegratorが完全に使用されていないことを指摘しました。実際には動作しませんでした しかし、私はこの宣言が瓶のレベルになることを望んでいません。私はアプリケーションからそれをオーバーライドする必要があります。プロジェクトとしての原因 - 私は、瓶を制御することはできません、それは更新することができますなどMETA-INF services org.hibernate.integrator.spi.Hibernate Enversのインテグレータ

任意のアイデアは、Jarで何も変更せずにこのファイルを無効にするには?

答えて

0

より具体的にわからなくても、私は一般的にしか答えることができません。

ServiceLoaderファイルをどこに置いても、Hibernateのブートストラップ中にそのファイルがクラスパス上にあり、内容がクラスパス上にも見えるクラスを指している限り、問題はありません。

Hibernate 6では、ユーザーがエンティティ固有のリスナー(JPAスタイルエンティティリスナーを考える)を利用できる、より効率的な条件付き監査方法を導入しようとしています。これにより、リスナをオーバーライドする必要がなくなり、必要に応じて任意のエンティティに簡単にプラグアンドプレイすることができます。

関連する問題