Mysql Date / Datetime столбцы и сохранение Java - PullRequest
5 голосов
/ 16 января 2010

У меня есть таблица Mysql со столбцом DATE, по умолчанию «0000-00-00». Если я попытаюсь позвонить, например, em.find(MyTable.class,pk_value); и это запись в базе данных со значением даты по умолчанию «0000-00-00», исключение выдается ( msgstr "java.sql.SQLException: значение ... не может быть представлено как java.sql.Date". Та же ошибка возникает для столбцов DateTime со значением по умолчанию «0000-00-00 00:00:00».
Есть ли способ сказать EntityManager, что такие значения в порядке? Спасибо.

Ответы [ 3 ]

7 голосов
/ 16 января 2010

Помогает установить свойство zeroDateTimeBehavior драйвера JDBC для convertToNull.

См. http://ondra.zizka.cz/stranky/programovani/java/index.texy (ищите "SQLException для нулевого столбца DATETIME или TIMESTAMP? Использовать zeroDateTimeBehavior").

jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull

1 голос
/ 10 июля 2012

Устанавливая свойство zeroDateTimeBehavior=convertToNull, мы можем избежать этой проблемы. Для получения подробной информации, пожалуйста, проверьте эту ссылку .

0 голосов
/ 16 января 2010

Как насчет замены нулевых дат на ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...