Ошибка при сохранении java.sql.Date в MongoDB

Не в состоянии сохранить java.sql.Date поле с использованием DBCollection.save()

Ошибка: CodecConfigurationException: не удается найти кодек для класса java.sql.Date.

в то время как insert() Метод имеет конструктор, имеющий поле DBEncoder.

DBCollection.insert(List<? extends DBObject> documents, WriteConcern aWriteConcern, DBEncoder dbEncoder)

Но любой вид конструктора для save() метод.

1 ответ

Вам необходимо изменить объект Date с java.sql.Date на java.util.Date.

java.util.Date newDate = new Date(yourSqlDate.getTime());

Если вы не знаете, когда вы использовали java.sql.Date в своем коде, я советую вам попробовать проверить, есть ли переменная Date, которая обновляется из оператора SQL.

У вас не должно возникнуть никаких проблем, если вы используете библиотеку Mongo 2.x, но, поскольку библиотека Mongo 3.x, кажется, они убрали поддержку java.sql.Date.

Другие вопросы по тегам