Jpa-introduction
JPA-はじめに
エンタープライズアプリケーションは、膨大な量のデータを保存および取得することでデータベース操作を実行します。 ストレージ管理に利用可能なすべてのテクノロジーにもかかわらず、アプリケーション開発者は通常、データベース操作を効率的に実行するのに苦労しています。
一般に、Java開発者は大量のコードを使用するか、独自のフレームワークを使用してデータベースと対話しますが、JPAを使用すると、データベースと対話する負担が大幅に軽減されます。 オブジェクトモデル(Javaプログラム)とリレーショナルモデル(データベースプログラム)の間のブリッジを形成します。
リレーショナルモデルとオブジェクトモデルの不一致
リレーショナルオブジェクトは表形式で表され、オブジェクトモデルは相互接続されたオブジェクト形式のグラフで表されます。 リレーショナルデータベースからオブジェクトモデルを格納および取得する際に、次の理由により不一致が発生します。
- 粒度:オブジェクトモデルはリレーショナルモデルよりも粒度が高くなります。
- サブタイプ:サブタイプ(継承を意味する)は、すべてのタイプのリレーショナルデータベースでサポートされているわけではありません。
- 同一性:オブジェクトモデルと同様に、リレーショナルモデルは同一性を記述している間は同一性を公開しません。
- 関連付け:リレーショナルモデルは、オブジェクトドメインモデルを調べている間、複数の関係を決定できません。
- データナビゲーション:オブジェクトネットワーク内のオブジェクト間のデータナビゲーションは、両方のモデルで異なります。
JPAとは何ですか?
Java Persistence APIは、膨大な量のデータをOracle Corporationが提供するデータベースに永続的に保存するためのクラスとメソッドのコレクションです。
JPAを使用する場所
リレーショナルオブジェクト管理のコードを記述する負担を軽減するために、プログラマーは「JPAプロバイダー」フレームワークに従います。これにより、データベースインスタンスとのやり取りが容易になります。 ここでは、必要なフレームワークがJPAに引き継がれます。
JPAの歴史
EJBの以前のバージョン、javax.ejb.EntityBean Interfaceを使用したビジネスロジックレイヤーと組み合わせた定義済み永続レイヤー。
- EJB 3.0の導入中、永続層は分離され、JPA 1.0(Java Persistence API)として指定されました。 このAPIの仕様は、JSR 220を使用して2006年5月11日にJAVA EE5の仕様とともにリリースされました。
- JPA 2.0は、Java Community Process JSR 317の一部として、2009年12月10日にJAVA EE6の仕様とともにリリースされました。
- JPA 2.1は、JSR 338を使用して2013年4月22日にJAVA EE7の仕様でリリースされました。
JPAプロバイダー
JPAはオープンソースAPIであるため、Oracle、Redhat、Eclipseなどのさまざまなエンタープライズベンダー JPA永続性フレーバーを追加して、新しい製品を提供します。 これらの製品の一部は次のとおりです。
- Hibernate、Eclipselink、Toplink、Spring Data JPAなど*