タイプセーフなDB開発

HibernateやEntityFrameworkなどのORMライブラリはどの程度使われているのであろうか?

EntityFrameworkなどいくつかのライブラリはDBからクラスを生成できる仕組みがあるので、この仕組みを使うとプログラムからDBアクセスをタイプセーフなコードで記述できる。なので、DBを変更したときにコードをコンパイルすればプログラムの影響範囲がわかる。検索条件もLINQで記述されていればもちろんコンパイルエラーになるし、ストアドプロシージャも対応している。要はORMライブラリはDBのテーブルやカラム、ストアドプロシージャにたいしてタイプセーフな世界を用意してくれる。これは大きなメリットではないでしょうか?この動機だけでもORMライブラリを使って良いのではないでしょうか?

さらにORMライブラリではテーブルやカラムにマッピングするクラスやプロパティに対して可視性を設定できるので、グローバル変数化しているテーブルやカラムに対してモジュール分割してアクセス制御ができるようになる。テーブルが多いアプリケーションにおいて複雑さの低減につながり保守性にも貢献する。かなり便利だと思います。