こんにちは。AnyPay CTOのTomo( HAIL )です。本記事は、Qiita Kotlin Advent Calendar 2018 16日目の記事です。 最近書き始めたKotlinサーバでは、JetBrainsのSQL FrameworkであるExposedをつかいはじめました。もうJava/Kotlinではサーバを10年弱ぐらい書いていて、これまではなんだかんだHibernateを使っていたのですが乗り換えました。Exposedは他社さんでも既に本番での利用事例が見受けられるものの、ドキュメントが結構少ないので、弊社のサーバでどのようにモデル周りの設計をしているかと、継承クラス周りでありがたがっていることを書きます。 まず前段として、Exposedではテーブル定義を object にて行います。 object Users : IntIdTable("users") { val