1

javax.persistence、javax.persistence-api、javaee-api の違いと内容について混乱しています。javaee-api にはさらに多くのものが含まれている可能性がありますが、私は JPA のものにのみ関心があります (javaee-api に存在する場合)。抽象的な観点では、仕様としての JPA と eclipselink のような JPA のいくつかの実装があります。したがって、1 つの構成に 2 つの依存関係がある場合は、簡単に理解できます。1 つは仕様のコンテンツ用で、もう 1 つは実装用です。しかし、これはもう少し複雑なようです。そのため、次の質問があります。

  • 「javax.persistence-api」にはインターフェースのようなものが含まれていると想定しているため、javax.persistence-api には仕様を実装せずに JPA のプログラムによるコンテンツ宣言が含まれています。したがって、バージョン 2.2 で javax.persistence-api を依存関係 (maven または gradle) として設定する場合、JPA 2.2 を使用する必要がある (実装でサポートする必要がある) と定義し、バージョン 2.1 で javax.persistence-api を依存関係として設定する場合は定義しますJPA 2.1 を使用/サポートする必要があります。そうですか?

  • 「javax.persistence」依存関係の目的/内容は何ですか (たとえば、バージョン 2.2.1のこの mvn リポジトリでダウンロード可能)?

  • バージョン 7.0 の javaee-api にはすでにjavax.persistence-api が含まれていますか? また、含まれている場合は、どのバージョンですか? 2.1 ? この情報はどのように、またはどこで見つけることができますか?

  • JPA 2.2 をサポートすると述べている EclipseLink 2.7.4 (2019 年の第 1 四半期) などの最新の実装を使用する場合、2.1 などの古い JPA バージョンとの下位互換性はありますか?

明確にしていただければ幸いです。

4

1 に答える 1