春季数据mongodb更改了策略以读取递归泛型属性

时间:2018-11-20 22:49:35

标签: spring mongodb spring-data

我在mongodb中使用spring数据。我将spring-data-commons从1.12.10.RELEASE更新到了1.13.12.RELEASE。

我拥有的课程

@TypeAlias("C")
class C {
  ...
  LinkedHashSet<B> trail;
}

第三方课程,不可修改

class B extends A<B> {
  String start;
  String end;
  ...
}

class A<T extends A<T>> {
  LinkedHashSet<T> inputs;
}

MongoDB示例: trailinputs内部的所有对象都是同一类型的对象B。它不包含_id_class

{
  _id: ObjectId("..."),
  _class: "C",
  trail: [{
    start,
    end,
    ...
    inputs: [{
      start,
      end,
      ...
      inputs: [{
        start,
        end,
        ...
        inputs: ...
      }]
    }] 
  }]
}

使用spring-data-commons 1.12.10时的行为。释放:

C c = mongoTemplate.findById(id, C.class, "C")
c.trail.iterator.next().inputs -> contains objects of type B.

更新为spring-data-commons 1.13.12.RELEASE后的行为

C c = mongoTemplate.findById(id, C.class, "C")
c.trail.iterator.next().inputs -> contains objects of type A (specific attributes of B were lost)

问题:我如何仍然使用1.13.12.RELEASE并恢复1.12.10.RELEASE的功能?

0 个答案:

没有答案