मैं ऑब्जेक्ट का उपयोग कर रहा हूं ताकि ऑब्जेक्ट को जारी रखा जा सके कि इसके खेतों में से एक बिगडिसीमल है।morphia BigDecimal दृढ़ता मुद्दा
@Entity
class MyObject {
BigDecimal myField;
}
और मैं db करने के लिए इसे बचाने की कोशिश:
Morphia morphia = new Morphia();
Datastore datastore = morphia.createDatastore(new MongoClient("localhost"), "myStore");
morphia.getMapper().getConverters().addConverter(new BigDecimalConverter());
MyObject foo = new MyObject();
foo.setMyField(new BigDecimal("1.1111111111111111"));
datastore.save(foo);
लेकिन मैं निम्न अपवाद प्राप्त करें:
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: Conversion to Decimal128 would require inexact rounding of 1.111111111111111160454356650006957352161407470703125
at org.mongodb.morphia.mapping.ValueMapper.toDBObject(ValueMapper.java:29)
at org.mongodb.morphia.mapping.Mapper.writeMappedField(Mapper.java:867)
at org.mongodb.morphia.mapping.Mapper.toDBObject(Mapper.java:982)
... 7 more
क्या आपने जांच की: https://stackoverflow.com/questions/24498011/reading-bigdecimal-with-morphia? अपना खुद का टाइप कनवर्टर एक विकल्प – LoreV