See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Java Data Objects - Wikipedia

Java Data Objects

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Java Data ObjectsJDO)とは、Javaオブジェクト永続性に関する仕様である。ドメインモデルの永続的サービスの透過性などもそれに含まれる。JDO の永続的オブジェクトは通常のJavaクラスである。永続性を持たせるために特別なインタフェースを実装する必要もないし、特別なクラスから継承する必要もない。JDO 1.0 は Java Community ProcessJSR 12 として開発された。JDO 2.0 は JSR 243 として開発され、2006年5月10日にリリースされた。

オブジェクトの永続性は、外部のXMLメタファイルで定義され、その中にはベンダー固有の拡張を含めることも可能である。JDO ベンダーは開発者向けにエンハンサ(enhancers)を提供する。エンハンサはコンパイル済みのJavaクラスファイルを編集し、透過的な永続性が得られるようにする。JDO の仕様ではバイトコードの改良を必須としているわけではないが、JDO を実装する手段としてはこれが一般的である。現在、JDO ベンダーが提供する永続性にはいくつかのオプションがある。例えば、関係データベースへの保存、オブジェクトデータベースへの保存、ファイルへの保存などである。

JDO 強化クラスは異なるベンダーの実装であっても機能する。一度強化(エンハンス)した Java クラスは任意のベンダーの JDO 製品で使うことができる。

JDO は Java EE にいくつかの方法で統合されている。まず、ベンダー実装は JEE Connector として提供される。そして、JDO は JEE transaction service(JTA Transaction Manager の実装)のコンテキストで動作する。

目次

[編集] JDO と EJB3

Enterprise JavaBeans 3.0 (EJB3) でも永続性がカバーされていた(EJB v2 の Entity Beans の発展したもの)。つまり、この2つの標準には仕様上の衝突が存在している。JDO にはいくつかの商用実装がある。

最終的に、永続性は EJB3 Core からは除外され、新たな標準 Java Persistence API (JPA) となった。JPA は javax.persistence パッケージを使い、EJB3 JSR 220 の中の独立した文書で定義されている。javax.persistence は EJB コンテナを必要とせず、JDO のように Java SE 環境でも機能する。しかし、JPA はオブジェクト関係マッピング (ORM) 標準であって、JDO のような透過オブジェクトの永続性標準(APIを実現するデータストアが何であるかをAPI利用者が気にする必要がない)ではない。

JDO の商用製品やオープンソースのプロジェクトの中には、既に JPA API も実装し選択肢を増やしているものがある。

[編集] JDO v2 での機能追加

  • Disconnected Object Graphs の概念
  • Standardized ORM Mapping Descriptors (ORMベースのJDO実装向け)
  • JDOQL 拡張
  • Get e.g. a java.sql.Connection from javax.jdo.PersistenceManager
  • その他: Named Queries (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, multiple User Objects on PM

[編集] 関連項目

[編集] 外部リンク

[編集] 仕様

[編集] オープンソース実装

[編集] コミュニティなど


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -