思い出したら追記

  • SQLでできることができるか
  • 継承関係を強制しないか
    • ツール側のクラスの継承が必須だったりしないか?
  • Beanのインスタンス生成を自然に行えるか?
    • 往々にして、ORマッパ経由でしか生成できなかったりする。
  • レコードの任意項目のみ取得可能か。
    • 勝手に全項目を取得 & メモリに溜めたりしないか。
  • 導出項目
    • DBにカラムは無いが、Beanにはある。
      • 例えば、DBに単価・数量があり、Beanは合計金額 (Beanで"単価 * 数量"する) を持つ。
      • もしくは、SELECT文で"単価 * 数量 AS 合計金額"する
  • 外部結合
    • 外部結合可能か
    • 外部結合先のレコードが無い場合、Beanのフィールドはnullになる? それとも空のBeanになる?
  • 単発のSELECT文を乱発しないか?
    • まずキーだけSELECTして、続けてキーごとにSELECTするみたいな。
  • WHERE句の表現はどこまで可能?
    • IS NULL・IS NOT NULL指定
    • 〜以上・〜以下 (〜より大きい・〜未満)
    • EXISTS・NOT EXISTSとか
  • UNION可能か
  • SQL方言可能か
    • CASE・DECODE
    • MINUSとか
    • ROWNUMとか
      • 1レコードだけ取得したい場合にする ROWNUM = 1 指定とか。プログラムで1件目だけ取得する(残りは捨てる)のは、オプティマイザがアホなコトしかねないので却下。
  • ヒントが使えるか