Ситуация примерно такая:
Таблица базы данных PostgreSQL имеет поле dateAdded
, который является отметкой времени
Объект модели Pojo отображает это поле как
class MyModel{
org.joda.time.DateTime dateAdded;
}
Моя реализация Dao находится в шаблоне Spring JDBC и выглядит следующим образом:
SqlParameterSource parameters = new BeanPropertySqlParameterSource(patient);
jdbcInsert.execute(parameters);
Я прочитал модель от клиента и построить объект, используя @Model
. Пока все хорошо. Когда я выполняю это, база данных выдает исключение:
[Edit Erwin]: Оказывается, исключение исходит не из базы данных.
org.postgresql.util.PSQLException: Bad value for type timestamp : 2011-10-10T21:55:19.790+03:00
Я не хочу выполнять форматирование вручную, реализуя полный оператор INSERT, поскольку задействовано много полей.
Какое здесь лучшее решение? Есть ли способ настроить toString ()
из DateTime
для всех вызовов. Я также думал о создании класса, унаследованного от DateTime, но ... ммм .. это финал.
-
Согласно Эрвину, я проверил значение DateTime '2011-10-10T21: 55: 19.790 + 03: 00', вставив его в фиктивную таблицу, и оно работает. Но не могу работать с JDBC. Что-то связано с драйвером JDBC?