Java Spring通用数据2.1.2 MongoDB can';t反序列化可选值

Java Spring通用数据2.1.2 MongoDB can';t反序列化可选值,java,spring,spring-data-mongodb,spring-data-commons,Java,Spring,Spring Data Mongodb,Spring Data Commons,Spring Common Data 2.1.2(和Data MongoDB 2.1.2)无法从我的类中反序列化可选字段。 它适用于以前的版本(2.0.8),现在我的对象保存在DB中(使用MongoRepository.save), 但当我尝试阅读它时,有一个例外(MongoRepository.findById)。 我缩小了一个精确的字段,问题在于存储可选字段: java.lang.UnsupportedOperationException: Cannot set immutable prop

Spring Common Data 2.1.2(和Data MongoDB 2.1.2)无法从我的类中反序列化可选字段。 它适用于以前的版本(2.0.8),现在我的对象保存在DB中(使用MongoRepository.save), 但当我尝试阅读它时,有一个例外(MongoRepository.findById)。 我缩小了一个精确的字段,问题在于存储可选字段:

java.lang.UnsupportedOperationException: Cannot set immutable property java.util.Optional.value!
    at org.springframework.data.mapping.model.BeanWrapper.setProperty(BeanWrapper.java:86) ~[spring-data-commons-2.1.2.RELEASE.jar:2.1.2.RELEASE]
    at org.springframework.data.mapping.model.ConvertingPropertyAccessor.setProperty(ConvertingPropertyAccessor.java:61) ~[spring-data-commons-2.1.2.RELEASE.jar:2.1.2.RELE
我的班级:

公共类坐标{ 私人双纬度; 私人双经度; 私人选择高度; }

当数据库中的数据为以下格式时,会出现异常:

altitude: Object
   value: 0
当高度没有“值”时没有错误

altitude: Object
(无价值)

它与以前的Spring引导版本(以及Spring Data Commons/Mongodb 2.0.8)配合使用

我找不到任何关于改变行为/不同处理选项等的信息

如何解决

我应该保持原样吗

private Double altitude;
使用getter:

public Optional<Double> getAltitude() {
    return Optional.ofNullable(altitude);
}
public可选getAltitude(){
返回可选。未满(高度);
}

还是其他方式?

我创建了一个JIRA票证,谢谢,但是我的代码可能不够好,我的类中不应该有可选属性