DBに保存する前はIDが存在しないので、一律でnullableにしてるけど、みんなそうなん?
class User(
val id: Int?, // ここ
val name: String
)
javaのDBアクセスライブラリのDoma2を使ってるんだけど、何もしないとEntity(SQLの取得結果レコードがマッピングされるPOJO)はJava。そのままだとnullableか否かがわからない 自分の場合、doma-genという自動生成コマンドをちょっと改造して、DBのカラムがnotnullかどうかでjetbrainsのアノテーション(@Notnull, @Nullable)が自動で付与されるようにした
自分達はDoma2使ってる。DomaはKotlinを実験的にサポートしてるけど将来ハマりたくないので、DomaはJava。RepositoryImpl層でKotlinに手動で詰替てる。MybatisとかDBFluteとかJPAとかExposedとかどうなんだろ
DBSetup?
こんな風にしてるけど、みんなどう?
// 該当する値が無い時に例外発生させたい場合は、こんな感じでfirstで
enum class DomaGenderEnum(val code: String) {
FEMALE("0"), MALE("1"), UNKNOWN("9");
companion object {
fun from(code: String) = values().first { it.code == code }
}
}
// null返したいならfind使うか
enum class DomaGenderEnum(val code: String) {
FEMALE("0"), MALE("1"), UNKNOWN("9");
companion object {
fun from(code: String) = values().find { it.code == code }
}
}
// map使いたければ、これでいいのでは?
enum class DomaGenderEnum(val code: String) {
FEMALE("0"), MALE("1"), UNKNOWN("9");
companion object {
private val codeMap = values().associateBy { it.code }
fun from(code: String) = codeMap[code]
}
}
こんな風にletを2回やるようにしてるけど、どう?
val geoCode = param.latitude?.let { lat -> param.longitude?.let { lng -> GeoCode(lat, lng) } }
前提:
kotlin/gRPC で BFF (Backends for Frontends) を作ろうとしている。
Android, iOSアプリに向けたもの。
クライアントエンジニアに書いて欲しいという気持ちで、Kotlinを選択した。
(finc) coroutine, Non-blocking IO
の理解が怪しいのでお聞きしたい。
(finc) フレームワークまわり
(finc) ベストプラクティス, アンチパターン
(finc) 学習