Java 推土机地图<;字符串,对象>;

Java 推土机地图<;字符串,对象>;,java,mongodb,dozer,Java,Mongodb,Dozer,我使用Dozer Mapper在dao层(使用MongoDB)和业务逻辑层之间映射对象。实际上,对象结构是相同的 文档类(语义上更接近业务逻辑层) 这里有一个方法,在将一个对象保存到MongoDB之前将其转换为另一个对象 DocumentEntity toEntity(Document document) { DocumentEntity entity = new DocumentEntity(); mapper.map(document, entity); return

我使用Dozer Mapper在dao层(使用MongoDB)和业务逻辑层之间映射对象。实际上,对象结构是相同的

文档类(语义上更接近业务逻辑层)

这里有一个方法,在将一个对象保存到MongoDB之前将其转换为另一个对象

DocumentEntity toEntity(Document document) {
    DocumentEntity entity = new DocumentEntity();
    mapper.map(document, entity);
    return entity;
}
正如您所看到的,字段
属性
映射
。在我尝试映射复杂类型“inside”
对象之前,一切都很顺利。我需要有一个对象列表,每个对象有两个字段作为这个映射的值

在顶层,RESTAPI提供了将对象保存到MongoDB的功能。但由于推土机的不正确映射类型变得无效

JSON输入

{
  "schema":"sch_1",
  "attributes": {
      "objUID": "obj_1",
      "nestedObjects": [
        {
          "objUID": "obj_1_1",
          "objSchema": "sch_1_1"
        },
        {
          "objUID": "obj_1_2",
          "objSchema": "sch_1_2"
        }
      ]
    }
}
并在映射后保存:

{
  "schema":"sch_1",
  "attributes": {
      "objUID": "obj_1",
      "nestedObjects": [
          "{objUID=obj_1_1, objSchema=sch_1_1}",
          "{objUID=obj_1_2, objSchema=sch_1_2}"
      ]
  }
}
所以,我得到的不是对象列表,而是字符串列表。
我应该如何配置推土机以获得正确的对象映射?

有人知道如何解决此问题吗?我现在正好有这个问题
DocumentEntity toEntity(Document document) {
    DocumentEntity entity = new DocumentEntity();
    mapper.map(document, entity);
    return entity;
}
{
  "schema":"sch_1",
  "attributes": {
      "objUID": "obj_1",
      "nestedObjects": [
        {
          "objUID": "obj_1_1",
          "objSchema": "sch_1_1"
        },
        {
          "objUID": "obj_1_2",
          "objSchema": "sch_1_2"
        }
      ]
    }
}
{
  "schema":"sch_1",
  "attributes": {
      "objUID": "obj_1",
      "nestedObjects": [
          "{objUID=obj_1_1, objSchema=sch_1_1}",
          "{objUID=obj_1_2, objSchema=sch_1_2}"
      ]
  }
}