Spring boot ArangoDB-BigDecimal

Spring boot ArangoDB-BigDecimal,spring-boot,arangodb,Spring Boot,Arangodb,简单例子 @Data @Document("product") @Accessors(chain = true) public class Product { @Id private String id; private BigDecimal cost; } ArangoDB配置: @Override public Builder arango() { final Builder builder = new Builder(); arangoDbConf

简单例子

@Data
@Document("product")
@Accessors(chain = true)
public class Product {
    @Id
    private String id;
    private BigDecimal cost;
}
ArangoDB配置:

@Override
public Builder arango() {
    final Builder builder = new Builder();
    arangoDbConfig.getHosts().forEach(host -> builder.host(host.getHost(), host.getPort()));
    return builder
            .user(arangoDbConfig.getUser())
            .password(arangoDbConfig.getPassword())
            .registerModule(new VPackJdk8Module());
}
正在读取文档生成异常:

Invocation of init method failed; nested exception is org.springframework.data.mapping.model.MappingInstantiationException: Failed to instantiate java.math.BigDecimal using constructor NO_CONSTRUCTOR with arguments 
依赖关系:

  • SpingBoot 1.5.9
  • Arangodb弹簧数据1.0.1
  • VelociPack-module-jdk8 1.0.2

  • 好的,忘了BigDecimal映射到HashMap。创建查询(biggerThan/lessThan)会很奇怪。我将数据类型更改为Double。

    您需要为包含BigDecimal的类定义JsonSerializer和JsonDeserializer,因为ArangoDB不支持该类型的数据。 检查此arango序列化程序文档: