GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • メインページ
  • コミュニティ・ポータル
  • 最近の出来事
  • 新しいページ
  • 最近の更新
  • おまかせ表示
  • 練習用ページ
  • アップロード (ウィキメディア・コモンズ)
  • 特別ページ
  • ヘルプ
  • 利用案内
  • 井戸端
  • お知らせ
  • バグの報告

This view

  • Original page
  • New address

GeezerVison is showing ja.wikipedia.org — Java Persistence API - Wikipedia

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "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
「https://ja.wikipedia.org/w/index.php?title=Java_Persistence_API&oldid=90629205」から取得
カテゴリ:
  • Java API
  • Javaプラットフォーム
  • Java enterprise platform
  • Java specification requests
  • 永続性
隠しカテゴリ:
  • 出典を必要とする記事/2021年6月
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.