ADF BCかTopLinkか

JDeveloperには2つのO/Rマッピングフレームワークがあります。
どんな場合にどちらを選択すればよいのでしょう?
私的意見ですが、判断ポイントとして、次のことが言えるでしょう:

  • DTO*1の構成や転送といったJ2EEパターン動作が気になるか?
  • SQLを細かく設定したいか?

ADF BCはO/Rマッピング機能だけではなく、それらを包含するひとつのデータアクセス・サービス・コンポーネントごとの機能を提供します。SQLだけ設定すれば、それに応じたデータアクセス・サービスやトランザクション管理機能を使用できるようになるので、初心者ユーザーとしては、最初は「へー」ってな感じですが、いろいろ触り始めると、ここはどうなってる? と、疑問が出てきます。それがよく見えない(実は公開されているんですが、なにぶん、最初はそれが見えてこない)ので、ブラックボックス的な気分になります(もう少し仕組みがわかってくれば実際にはブラックボックスではないことがわかるのですけど)。
SQLはかなり自由に設定できるので、J2EEに詳しくない従来のDB開発者向きだといえます。


TopLinkは純粋なO/R機能だけです。マップされたオブジェクトに対する操作、トランザクション管理などを自分で構成したいJ2EEエキスパートはこちらのほうがとっつきやすいことでしょう。J2EE開発者向きってことでしょうか。

*1:Data Transfer Object