0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQL Builder (ORMライブラリ) のメリット、デメリット

Last updated at Posted at 2019-11-27

貧弱なORMのライブラリのクエリビルダを使って辟易して、
もう生のSQLでもいいんじゃないか?と思ったけど、
それでもやっぱり、ORMってだけで、便利だなぁ・・・って、改めて思った話

メリット

  • メソッドを補完してくれるエディタであれば、コーディングが早い。
  • 可読性が、生のSQLを記述する場合と比較すると上がると思。(かっこ書きになるので命令文とパラメータが一目瞭然なんだと思う)
  • メソッドチェーンで繋げるので、部分的な変更がしやすい
  • サブクエリをネストできるようなORMだと、意味のある単位でクエリを分割できる
  • SQLインジェクションを排除してくれる。
  • DBMS(DBの種類)の差異、方言を埋めてくれる。ってのが一番の売りなのかもしれないが、DBを変えることは、ほとんどないので、今のところそんなにメリットは感じない

デメリット

  • 複雑なクエリになると、発行されるSQLが想定と違い、SQLに戻してデバッグしなければならない
  • ORMのライブラリによっては、複雑なクエリを発行できないことがあり、生のSQLと混在する

    カラム名とかに予約語使われていると、エスケープできないライブラリによっては詰むかも

    完璧に気持ちよく対応できているORMはないんじゃないか?
    いや、ORMに完璧さを求めてはいけないんだな。
    あるだけで便利なのだから。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?