私は、JPA2 に依存する実装に依存しない Maven モジュールを構築しようとしています。残念ながら、唯一の Maven JPA 依存関係は JPA1 ベースであるため、JPA2 オプションのみである EntityManager.detach() メソッドは使用できません。
理想的には、Pom で javax.persistence 依存関係を指定し、アプリ/コンテナに JPA2 実装の提供を要求できればよいのですが、残念ながら、そのような依存関係は見つかりません。
この時点で、hibernate-jpa-2.0-api 1.0.0.FINAL を提供された依存関係として宣言するしか選択肢はありませんか?
ベストアンサー1
これはかなり古い投稿であることは承知していますが、実装に依存しない場合は、代わりに Java EE API 依存関係を使用する必要があります。
POM に追加するだけです:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${jee.version}</version>
<scope>provided</scope>
</dependency>
ここで、${jee.version} は、必要な Java EE バージョンです。現在、私は 7.0 を使用しています。これには、すべての EJB、JPA、および JSF API 依存関係があります。