错误是在MongoDB中保存java.sql.Date

时间:2015-04-29 10:18:59

标签: mongodb codec mongo-java

无法使用java.sql.Date

保存DBCollection.save()字段
  

错误:CodecConfigurationException:找不到类java.sql.Date的编解码器。

insert()方法的构造函数具有DBEncoder字段。

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

但是save()方法的任何类型的构造函数。

1 个答案:

答案 0 :(得分:3)

您需要将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支持。