У меня есть POJO, который использует BigDecimal. Когда я сохраняю объект в morphia, становится ясно, что значение сохраняется в виде строки. Но если я изменю базу данных из оболочки javascript, чтобы она имела значение десятичного числа, попытка прочитать объект с использованием класса morphia завершается со следующей ошибкой:
Например:
@Entity(value = "table_name", noClassnameStored = true)
public class Advertisement implements Table {
BigDecimal value;
}
java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:361)
at org.mongodb.morphia.utils.ReflectionUtils.convertToArray(ReflectionUtils.java:537)
at org.mongodb.morphia.converters.IntegerConverter.decode(IntegerConverter.java:35)
at org.mongodb.morphia.converters.DefaultConverters.fromDBObject(DefaultConverters.java:134)
at org.mongodb.morphia.mapping.ValueMapper.fromDBObject(ValueMapper.java:27)
at org.mongodb.morphia.mapping.Mapper.readMappedField(Mapper.java:604)
at org.mongodb.morphia.mapping.Mapper.fromDb(Mapper.java:585)
at org.mongodb.morphia.mapping.Mapper.fromDBObject(Mapper.java:296)
at org.mongodb.morphia.query.MorphiaIterator.convertItem(MorphiaIterator.java:78)
at org.mongodb.morphia.query.MorphiaIterator.processItem(MorphiaIterator.java:65)
at org.mongodb.morphia.query.MorphiaIterator.next(MorphiaIterator.java:60)
at org.mongodb.morphia.query.QueryImpl.asList(QueryImpl.java:294)
at
...
Какова правильная форма для добавления десятичного значения в виде строки в mongodb, чтобы morphia могла прочитать это значение в Java BigDecimal?