Node.js + TypeScript + RDB なプロジェクトの ORM といえば?
Discussion
Closed
Node.js + TypeScript + RDB
MEAN Stack など Node.js といえば NoSQL な DB と組み合わせることが多い印象はありますが
Node.js + RDB の組み合わせもそれなりのシェアがあると信じています。
TypeScript は静的型チェックで多くのバグを事前に防いでくれます。
SQL は文字列なので、そのままではチェックされません。
多くのプロジェクトでは ORM を導入することで解決しているのではないでしょうか。
Node.js + TypeScript + RDB なプロジェクトの ORM といえば?
おすすめの ORM、それのメリットやデメリットの回避法などなど 教えてもらえたら嬉しいです。
私が知っているのは TypeORM や Sequelize くらいなのですが下記のような印象があります。
TypeORM
最近は Nest.js や Foal TS などの Web フレームワークが
TypeORM が使われることが想定されて作られているなど人気があります。
Entity が書きやすいように思います。
しかし、 TypeORM は現在(2020/07/16)v0.2.25 であり
個人的にはリレーションまわりが使いづらく感じました。
例えば「特定のユーザに紐づく最新の記事を 10 件取ってくる」ようなクエリが書きづらかったです。
Sequelize
約 10 年前から開発されており
かなり多くのユースケースに対応できる印象があります。
最近 v6 がリリースされて TypeScript への対応がかなり改善しました。
リレーションまわりで Model の定義が面倒なのは相変わらずです。
ほかの ORM など
未確認なものとして
Bookshelf とか
文字列である SQL を実際の DB に問い合わせつつチェックしてくれる言語サーバがあったような?
おすすめはもちろんですが、おすすめできない ORM であっても理由とともに教えてほしいです。