web-dev-qa-db-ja.com

Eclipseプロジェクトのどこに置くかPersistence.xml

簡単な質問...
Eclipse環境にいくつかのプロジェクトがあります
「含む」MainApp(エンタープライズアプリケーションプロジェクト)

  1. WebController(EJBプロジェクト)
  2. WebModel(JPAプロジェクト)
  3. WebView(動的Webプロジェクト)


persistance.xmlファイルをどこに置くか問題はありますか?

例外の取得:Java.lang.IllegalStateException:unitNameDataModelのEntityManagerFactoryを取得できません

11
Marcin Petrów

JPA 2.0仕様 セクション8.2には、パッケージングの要件が記載されています。それは言う

永続性ユニットは、persistence.xmlファイルによって定義されます。 META-INFディレクトリにpersistence.xmlファイルが含まれているjarファイルまたはディレクトリは、永続性ユニットのルートと呼ばれます。

Java EE環境では、永続性ユニットのルートは次のいずれかである必要があります。

  • eJB-JARファイル
  • wARファイルのWEB-INF/classesディレクトリ[80]
  • wARファイルのWEB-INF/libディレクトリにあるjarファイル
  • eARライブラリディレクトリ内のjarファイル
  • アプリケーションクライアントのjarファイル

永続性ユニットにEJB-JARまたはWARに含まれるクラスに加えて永続性クラスが含まれる場合を除き、永続性ユニットを含むEJB-JARまたはWARファイルをEARにパッケージ化する必要はありません。セクション8.2.1.6を参照してください。

必要と思われる場合は、この章の残りの部分を読むことができます。 Eclipseでは、デプロイメントファイルが適切にパッケージ化されるように、プロジェクト間の依存関係を構成する必要があることを意味します。これは通常、[プロジェクト]タブの[プロジェクト]-> [プロパティ]-> [ビルドパス]で構成します。

ただし、EclipseがWebサーバーのデプロイメントに必要なパッケージをパッケージ化しているかどうかはわかりません。私はそれがEARプロジェクトで行われることを知っています。

13
Edwin Dalorzo

Persistence.xmlファイルは通常、persistence(JPA)プロジェクトのsrc/META-INFディレクトリにあります。プロジェクトがEclipseで作成された場合、通常、デフォルトで作成され、そこに配置されます。

14
Vineet Reynolds