SpringBoot
TL;DR 自分の場合、Dependency Management PluginによってOkHttpのバージョンが書き換わったことが原因だった com.squareup.okhttp3:okhttp:4.xが期待される所でcom.squareup.okhttp3:okhttp:3.14.9が利用されていた gradleのdependenciesに利用したいバージ…
TL;DR 問題が起きているディレクトリを一旦削除して作り直し、ファイルを配置し直した所解決した 恐らくDbUnit等の不具合ではなかったと思われる 状況 SpringDbUnitでテストを作成していた所、DatabaseSetupアノテーションに設定したファイルがjava.lang.Ill…
TL;DR DB跨ぎの外部キーが絡む状態でDatabseSetupすると、外部キーの元になるinsertがコミットされずにデッドロックが発生する エラーメッセージはCaused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded;…
NamedParameterJdbcTemplateに対して発行するクエリで、JSON配列をパラメータとして設定する所で詰まったので、備忘用のメモです。 状況 以下のような処理を行うクエリを作成していました。 select JSON_OVERLAPS(/* テーブルから取得したJSON配列 */, /* パ…
以下のように、「エラー条件を満たした場合、値をメッセージに入れて返す」的な処理をクラス内に実装していたところ、通常では考えられないバグが出てハマりました。 @Null(message = "\${validatedValue}は異常値です。") fun getHoge(): String? = when (c…
内部エラー周りの設計について自分の経験から得た知見をまとめます(なのでセオリーとかアンチパターンとか有れば教えていただけるとありがたいです)。 内部エラーとは基本的に自分で書いてThrowするようなエラーを想定しています。 エラーハンドリングに関…
やりたかったこと vuejs-datepickerでPOSTした日時から、サーバーサイドで日付を取得する 問題の概要 vuejs-datepickerはタイムゾーンまで含めてデータを出力する Jacksonはフォーマット設定をしなければ受け取った日時をGMT基準(=日本時間-9時間)に変換し…
概要はSSIAです。 ここではEntityをデータベースのテーブルそのままのPOJOとします。 原因 ここではis_active_sampleという名前のカラムに対して、isActiveSampleというBoolean/booleanのフィールドを持つEntityを挿入する状況をサンプルとして書きます。Lom…
↓の続きです。 wrongwrong163377.hatenablog.com 記事執筆時点でのプロジェクトリポジトリは以下。 github.com やること フィールド用に名前が半角スペースで2分割できるかをチェックするCustom Validatorを作ります。 深い理解ができていないので、作って動…
↓の続きです。 wrongwrong163377.hatenablog.com Post/Putで受け取った内容をBeanのバリデーション/相関チェックするところまでやります。 この記事の内容が完了した状態のリポジトリは以下。 github.com やること モデルを追加する コントローラーを追加す…
最近黒べこ本(会社のお金で)買いました。サーバーサイドでもKotlinはいいぞ。 今回はKotlinのSpringBootでハロワします。 記事執筆時点でのプロジェクトリポジトリは以下。 github.com やること SpringInitializrでプロジェクトの概形を作る Controllerを…