JPAとは何ですか?
JPA (Java Persistence API) は、Java オブジェクトとリレーショナル データベースの間でデータにアクセス、管理、および永続化するために使用される Java の仕様です。これは、オブジェクト リレーショナル マッピングの標準的なアプローチと考えられています。
JPA は、オブジェクト指向ドメイン モデルとリレーショナル データベース システムの間の架け橋とみなすことができます。 JPA は仕様上、単独で操作を行うことはありません。したがって、実装が必要です。そのため、Hibernate、TopLink、iBatis などの ORM ツールは、データ永続性のための JPA 仕様を実装しています。
休止状態とは何ですか?
Hibernate は、リレーショナル データベース システムに Java オブジェクトを格納するために使用される Java フレームワークです。これは、オープンソースの軽量の ORM (オブジェクト リレーショナル マッピング) ツールです。
Hibernate は JPA の実装です。したがって、JPA が提供する共通の基準に従います。
JPAの必要性
これまで見てきたように、JPA は仕様です。 ORM ツールに共通のプロトタイプと機能を提供します。同じ仕様を実装することにより、すべての ORM ツール (Hibernate、TopLink、iBatis など) は共通の標準に従います。将来、アプリケーションをある ORM ツールから別の ORM ツールに切り替えたい場合でも、簡単に切り替えることができます。
JPA 対 Hibernate
JPA | 休止状態 |
---|---|
Java Persistence API (JPA) は、Java アプリケーション内のリレーショナル データの管理を定義します。 | Hibernate は、Java オブジェクトの状態をデータベースに保存するために使用されるオブジェクト リレーショナル マッピング (ORM) ツールです。 |
それは単なる仕様です。さまざまな ORM ツールがデータの永続化のためにこれを実装します。 | これは、最も頻繁に使用される JPA 実装の 1 つです。 |
で定義されています javax.persistence パッケージ。 | で定義されています 組織の休止状態 パッケージ。 |
の エンティティマネージャーファクトリー インターフェイスは、永続化ユニットのエンティティ マネージャー ファクトリと対話するために使用されます。したがって、エンティティ マネージャーが提供されます。 | それは使用しています セッションファクトリー Session インスタンスを作成するためのインターフェイス。 |
それは使用しています エンティティマネージャー マップされたエンティティ クラスのインスタンスの作成、読み取り、削除操作を行うためのインターフェイス。このインターフェースは永続化コンテキストと対話します。 | それは使用しています セッション マップされたエンティティ クラスのインスタンスの作成、読み取り、削除操作を行うためのインターフェイス。 Java アプリケーションと Hibernate の間のランタイム インターフェイスとして動作します。 |
それは使用しています Java 永続性クエリ言語 (JPQL) は、データベース操作を実行するためのオブジェクト指向クエリ言語として使用されます。 | それは使用しています Hibernate クエリ言語 (HQL) データベース操作を実行するためのオブジェクト指向クエリ言語として使用されます。 |