Java_Persistence_API
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "Java Persistence API" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2021年6月)

Java Persistence API(JPA)とは、関係データベースのデータを扱うJava SEおよびJakarta EE(旧・Java EE)のアプリケーションを開発するためのJava用フレームワークである。

JPAは、以下の3つの部分から成る。

API(javax.persistence パッケージで定義されている)

Java Persistence Query Language

オブジェクト/関係メタデータ

JPAのリファレンス実装はEclipseLinkとして実装されている。
歴史

Java Persistence API 1.0は、 ⇒JSR 220 (EJB 3.0) Expert Groupの作業の一部として2006年5月11日に策定された。JPA 2.0は ⇒JSR 317として、2009年12月10日にJava EE 6やEJB 3.1と同一日に承認された。JPA 2.1はJSR 338として、2013年4月22日に承認された。
エンティティ

JPAにおける永続性エンティティは、関係データベースにおける表を表した軽量Javaクラスである。そのインスタンスは表の個別の行に対応する。通常、他のエンティティとの関係を持ち、その関係はオブジェクト/関係メタデータで表される。オブジェクト/関係メタデータは、アノテーションを使ってエンティティクラスのソースファイルに直接記述することもできるし、別のXMLファイルとして記述することもできる。
Java Persistence Query Language

Java Persistence Query Language (JPQL) は、関係データベースに格納されたエンティティに対するクエリに使用される。文法的にはSQLに似ているが、データベースの表を直接操作するのではなく、エンティティオブジェクトを操作する。
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を実装している。
関連項目

仕様

Java Data Objects


実装

DataNucleus

GlassFish

Hibernate


外部リンク

一般的情報

Sun's Persistence page

GlassFish's Persistence page

The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 317

Documentation for the final version of the EJB3 spec (called JSR220)

Nabble JPA Forum


ドキュメンテーション

Persistence in the Java EE 5 Tutorial

Sun's Persistence FAQ

Java Persistence API Javadoc

Getting started with Java Persistence API 1.0


実装

Amber - Resinの一部

Apache OpenJPA

DataNucleus

GlassFish

Hibernate

Oracle

EclipseLink

Oracle TopLink

Oracle Kodo


SAP Netweaver Application Server

SimpleJPA - Amazon SimpleDB


記事

Master the New Persistence Paradigm with JPA

Persistence Pays Offs: Advanced Mapping with JPA

典拠管理データベース: 国立図書館

ドイツ


記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:10 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef