klibsを眺めていたところ面白そうなものを見つけたので試してみた。 sqldelight.github.io これが結構面白い。リポジトリのAboutに「Generates typesafe Kotlin APIs from SQL」とあって「ORM?」と思ったけど、どうもちょっと違う気がする*1。ORMはオブジェクトを定義して、オブジェクトを操作することでSQLを扱う。が、SQLDelightは逆で、SQLを元に型安全なコードを自動生成するというアプローチを取っている。正しく表現できてるかアレだけど、簡単に違いを表にしてみる。 特徴 SQLDelight 典型的なORM SQL操作 SQLを直接記述し、それを元に型安全なコードを生成 SQLを抽象化してオブジェクトとして操作 型安全性 SQLを元にオブジェクトを定義する。オブジェクトの作成はSQLDelightが自動で定義してくれる。
