2010-01-15 3 views
5

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

ответ

7

Что помогает в настройке драйвера JDBC в zeroDateTimeBehavior свойство convertToNull.

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

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

0

Как об изменении НОЛЬ относится к нулю.

+0

Я уверен, что это сработает, но это может вызвать много побочных эффектов, поэтому я бы предпочел не делать этого, если это не единственное решение. – a1ex07

1

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

Смежные вопросы