Spring Data Joda Time Duration类型存储在mongoDB中

时间:2015-12-28 14:41:20

标签: spring-data jodatime duration

我有一个持续时间容器,看起来像这样,我也可以将这个容器存储在我的MongoDB中,没有任何问题。但是如果我从数据库中读取对象,我会得到以下异常:

  

org.springframework.data.mapping.model.MappingInstantiationException:无法使用带参数的构造函数NO_CONSTRUCTOR实例化org.joda.time.Duration       在org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:64)       在org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:249)       在org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:230)

有谁知道我做错了什么或我如何解决这个问题?

public class ScheduleDurationContainer {

@JsonView(RestServiceResponseView.SchedulerPublic.class)
private Duration duration;
...

public ScheduleDurationContainer() {
}

1 个答案:

答案 0 :(得分:0)

在我看来,您的错误是由于Joda Time的持续时间没有默认的无参数构造函数。您需要为Duration编写一个Mongo读取转换器。 Spring有几个例子here