Java Persistence API
関係データベースのデータを扱う Java SE および Java EE のアプリケーションを開発するためのJava用フレームワーク
From Wikipedia, the free encyclopedia
Java Persistence API(JPA)とは、関係データベースのデータを扱うJava SEおよびJakarta EE(旧・Java EE)のアプリケーションを開発するためのJava用フレームワークである。
JPAは、以下の3つの部分から成る。
- API(javax.persistence パッケージで定義されている)
- Java Persistence Query Language
- オブジェクト/関係メタデータ
JPAのリファレンス実装はEclipseLinkとして実装されている。
歴史
エンティティ
Java Persistence Query Language
Enterprise JavaBeans との関係
Java Persistence API 1.0は EJB 3.0仕様の一部であり、EJB 3.0はJava EE 5 プラットフォームの一部である。ただし、永続性を利用したアプリケーションを実行するのにEJBコンテナや Java EEアプリケーションサーバが必須というわけではない。
Java Persistence API 2.0はEJB 3.1とは分離され、独立したJSR仕様として定義された。EJB 3.1やJPA 2.0はJava EE 6の一部である。
Service Data Object API との関係
Java Persistence APIは、HibernateやTopLinkなどのオブジェクト関係マッピングツールの主要機能である関係永続性のために設計された。一般にJava Persistence APIはEJB 2.0仕様を大幅に強化したものと受け取られている。Service Data Objects (SDO) API (JSR 235) はJava Persistence APIとは目的が異なり、相互に補完するものとされている。SDO API はサービス指向アーキテクチャのために設計されており、関係データモデルだけでなく様々なデータ形式や各種プログラミング言語を扱う。SDO APIのJavaバージョンはJCPによって管理され、C++バージョンはOASISが管理する。
開発の背景
EJB 2.0までのEntity Beanなどのエンタープライズ・ビーンは、重すぎて複雑すぎ、Java EEアプリケーションサーバでしか使えないという問題があった。このため、その代替としてData Access Objectやオープンソースのフレームワークを使った軽量の永続性オブジェクトが使われることが多くなった。そのようなサードパーティーの永続性フレームワークの機能を集約したのがJava Persistence APIであり、HibernateやTopLinkのようなプロジェクトも現在ではJava Persistence APIを実装している。
関連項目
外部リンク
- 一般的情報
- ドキュメンテーション
- 実装
- 記事