次のコードがあります。
conditions.add("mydate = str_to_date('"+date_from_user+"', '%Y-%m-%d')");
上記は正常に機能しますが、ユーザーからの入力を取得してクエリに押し込んでいるため、クエリのセキュリティが危険にさらされています。名前付きテンプレートを使用したかったので、コードを次のように変更しました。
conditions.add("mydate = str_to_date(':mydate', '%Y-%m-%d')");
namedParams.put("mydate", date_from_user);
ただし、上記のコードは機能せず、次のエラー メッセージが表示されます。
<SQLWarning ignored: SQL state 'HY000', error code '1411', message [Incorrect datetime value: ':mydate' for function str_to_date]>
そのため、namedparameter が値を取得していないようです。