いくつかのエンティティを共有する 2 つの異なるプロジェクトのマッピングを行う方法を考え出そうとしています。これらはマッピングの限られたサブセットのみを共有するため、私の最初のアイデアは、これらのマッピングを別の jar に分離することでした。マッピングを行うために hibernate アノテーションを使用しています (したがって、それらは個別の XML ではなく、クラス ファイル内にあります)。
プロジェクト A とプロジェクト B の両方が、このマッピング プロジェクトに依存しています。このプロジェクトには、休止状態のマッピングが 2 つしか含まれていません。プロジェクト A には独自のマッピングはありませんが、プロジェクト B にはマッピングがあります。マッピング プロジェクトの永続化ユニットを構成しないと、マッピングが取得されないため、これを行うと常に問題が発生するようです。プロジェクト B についても同様です。マッピング プロジェクトで永続化ユニットを構成すると、プロジェクト A は機能しますが、プロジェクト B でクエリを実行すると、次のようになります (Mapping
たまたまクラスの名前になります)。
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Mapping is not mapped
これは、プロジェクト B が独自の永続化ユニットを持っていることが原因であると考えており、明らかに 2 つがマージされていません。私は本当にそれらのいずれかを望んでいません。プロジェクト A/B で 1 つだけを構成し、依存する jar では構成したくないのです。依存関係の jar 内の注釈をスキャンしてマップし、それらを現在の永続化ユニットに追加するように hibernate に指示する方法はありますか?