http://java.sun.com/products/jdbc/related.htmlより:

JDOとJ2EE APIsの関係


Q:Java Data Objects(JDO)ってなぁに?。
A:Java Data Objects(JDO)は、データベースアクセスを透明化するためのAPIじゃ。プログラマはデータストアに透明にアクセスするためのコードを、あくまでもJavaプログラミング言語で書く。データベース固有のコード(SQL文など)を、書かなくてもよいのじゃ。

Q:データにアクセスする方法としてはJDOのほうがJDBCのAPIよりも良いの?。
A:JDOはJDBC APIを補完する技術じゃ。JDOの長所は、オブジェクトデータベースとオブジェクト/リレーショルナル・マッピングをJavaのAPIとして標準化していることじゃ。プログラマは単純にJavaのクラスを使ってプログラムを書けばよい。リレーション(関係データベースの表)などデータベース固有のデータ形式と、Javaのオブジェクトとの間で、データをコピーする手間が省けるのじゃ。

Q:JDOはJDBC APIに置き換わっちゃうの?。
A:そうではないぞ。JDOとJDBC APIはお互いに補完的な関係じゃ。どちらにも独特の長所があり、プログラマが持っているスキルの種類や開発目標の違いに応じて、使い分けることができるのじゃ。
  便利なプログラミング、という点ではJDOが上じゃ。なにもかもJavaのクラス&オブジェクトだから、コンパイル時のタイプチェックがちゃんとできるのよ。
  じゃがJDBC APIを使うと、データベースアクセスやキャッシュの管理のような低レベルをプログラマが直接管理できるから、柔軟性という点では上じゃ。JDBC APIは、技術の成熟度と完成度が高く、いろんな業界ですでに知名度が高いのじゃ。

Q:JDOの開発に関与している人は誰なの?。
A:JDO APIはJava Community Processの下で作られており、スペックリーダーはSun MicrosystemsのCraig Russellじゃ。

Q:JDOはJava 2プラットホームの一部になるの?。
A:JDOはJ2EEプラットホームと並行して定義されておる。現時点(2002年末)では、JDOはJ2EEプラットホームの次のリリースに含まれておらんし、また逆に、除外するという決定もない。J2EEの次のリリースには、コンテナとコネクタのAPIsが含まれ、JDOはそれらのAPIsを参照する形になるのが、筋ではないかな。あらゆるメカニズムを、JDO自身が自分の中に定義するのでなく、じゃ。

Q:JDOはEJBにどんな影響を及ぼすの?。
A:JDOは、次のものの実装に向いておるの:(1)セッションビーンのためのパーシステントなヘルパークラス、(2)BMPエンティティビーンのための代理(delegate,デレゲート)クラス、そして(3)CMPエンティティビーンのための代理(delegate,デレゲート)クラス。

Q:JDOと、ODMGとJavaの結合との間には、どんな関係があるの?。
A:JDOと、ODMG-Java結合との間には、似た点もある。しかしJDOは最初から純粋にJavaのAPIとして考えられておるが、ODMG-Javaは既存のオブジェクトデータベースの規格をJavaにマップしたものじゃ。

Q:JDO APIの発表はいつだったの?。
A:仕様書と参考実装とテクノロジコンパチビリティキット(JDOの実装の規格準拠性を試験するためのキット)は、2002年3月にJava Community Processによって承認され、2002年4月に発表されたのじゃ。