使用Morphia读取/解组多维数组时遇到了麻烦。
以下课程:
@Entity
class A {
double[][] matrix;
}
被正确编组并存储在mongodb中,但是当读取它时,我得到一个异常,即无法构造double [] []。我试过使用自定义的TypeConverter,但是没有为这些类型调用它。 我在使用这样的成员时遇到的类似问题:
List<double[]> matrix;
我没有找到任何可以帮助morphia找出数组中预期类型的注释。 我怀疑这还不支持。 有什么建议吗?
提前致谢。
答案 0 :(得分:1)
我还没有使用Morphia的多维数组,所以我不能说太多。 但是,我对不支持的数据类型(如BigDecimal)执行了以下操作:
我的代码看起来像这样:
@Transient
private BigDecimal salary;
private String salaryString;
@PrePersist
public void prePersist(){
if(salary != null){
this.salary = this.salary.setScale(2, BigDecimal.ROUND_HALF_UP);
salaryString = this.salary.toString();
}
}
@PostLoad
public void postLoad(){
if(salary != null){
this.salary = this.salary.setScale(2, BigDecimal.ROUND_HALF_UP);
this.salary = new BigDecimal(salaryString);
}
}