2009-04-03 11 views
2

私は春のアプリケーションをいくつかのモジュールに分けて、それぞれ別々のプロジェクトに分けています。 各モジュールは、独自のJPAエンティティを持っていると私は設定のために春のORMを使用しています:バネ負荷のJPAクラスを複数のパスから作成する方法は?

<beans ...> 

<context:component-scan 
    base-package="org.myapp.module1.persistence" /> 

<context:component-scan 
    base-package="org.myapp.module2.persistence" /> 

... 

<context:annotation-config /> 

<tx:annotation-driven /> 

... 

</beans> 

そして、persistence.xmlファイルは、次のようになります。

<persistence ...> 

<persistence-unit name="myunit" /> 

</persistence> 

私の問題は、ときSpringコンテキストが初期化されていることですpersistence.xmlファイルの同じパスにある@Entityクラスだけを検索し、他のプロジェクトのクラスパスは無視します。

それぞれが@Entityクラスと同じパスにある複数のpersistence.xmlを作成しようとしましたが、この場合、Springは最初のpersistence.xmlを見つけたら読み込みを停止し、他の@Entityクラスは見つかりませんパス。

どのようにすれば、春にすべてを見ることができますか?

答えて

4

を助けるん。すべてのパーシスタンスユニットに同じ名前を付けるようにしてください。 classpath*:META-INF/persistence.xml

よろしく、 Ollie第

+0

リンクが壊れている:もちろん、あなたがpersistence.xmlのためのワイルドカードのインポートを使用する必要があります。更新されたリンク: http://redmine.synyx.org/projects/minos/repository/changes/trunk/modules/core/src/main/java/org/synyx/minos/support/jpa/MergingPersistenceUnitManager.java – rochb

+0

ありがとうヒント、ロク。それを私が直した... –

関連する問題