■ Entityオブジェクトの生成の問題点 JDBC Java

□ DAOにおけるResultSetからEntityオブジェクトの生成

・ResultSetをループしながら次のような処理を行う
  ・Entityオブジェクトをnewする
  ・ResultSetからカラム値を取り出して、オブジェクトに設定する

・上記では、つぎのようなことが問題である
  ・Entityのクラス名を指定して、Eytityオブジェクトを生成する
  ・ResultSetにどのようなカラムがあるかを、(プログラマが)知っている必要がある
  ・上記のカラム値を取得し、明示的にsetメソッドを用いてEntityに値を設定する

・このため、上記の処理をするDAOが個別に作成されており、次のような問題点を内包している
  ・DAOの数が多くなる
  ・カラムとフィールドの対応が、個別DAOに記述されており、間違いが発生したり、テーブルの変更に弱い

・これらは、汎用的な処理が可能である
  ・Entityオブジェクトの生成はリフレクションで可能
  ・ResultSetにどのようなカラムがあるかは、メタデータから取得可能
  ・Eytityオブジェクトにどのようなフィールドがあるか、またそのフィールドに値を設定することはリフレクションで可能

・注意事項
  ・カラム名とフィールド名がどのように対応しているか
  ・これについて、次のようなことで対応できる
    ・カラム名とフィールド名の間に一定の規則がある
    ・カラム名とフィールド名の対応を使用側が明示する
  ・Entityクラスのソースを自動生成する場合に、このような対応が可能なように仕組みを作っておくことが必要である



==

・目次 - Java JDBC
  http://blogs.yahoo.co.jp/artery2020/40002371.html
・目次 - Java言語プログラミング入門
  http://blogs.yahoo.co.jp/artery2020/39975776.html
・目次 - ビジネスパーソンの常識と非常識
  http://blogs.yahoo.co.jp/artery2020/39728331.html
・目次 - 論理・発想・思考についての考察と鍛え方
  http://blogs.yahoo.co.jp/artery2020/39657784.html

== ended.