前回 の SpringBoot2.1 + Kotlin のリポジトリを Doma 2 対応しました。
いちいち Insert を書かなくて済んだり、場合によっては SQL をかけたり(SQL ファイルで定義したり、アノテーションで SQL 定義したり)、項目を絞った Update が SQL 文書かずにできるのが良いですね。
FOR UPDATE を制御するのに SelectOptions を使わなければならない(?) とかちょっと癖がありますが、やりたいことは十分できます。
関連するSQL ファイルが無かったり、bind する変数がメソッドに定義されていないとエラー出すのがとてもありがたく、初めて使う人にも優しいフレームワークだと思います。
レイヤー間は interface で切っていたので、SpringJDBC 使っている箇所だけの修正で済みました。 Kotlin でも問題なく動作して、既存のテストも大した修正なしです。
IntelliJ の設定が必要だったのでそこだけ注意でしょうか。
動的に SQL 変えたいケースはロジックで組み立てるのではなく 2WaySQL が良いと思っている人にはオススメです。