我在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示例:
trail
和inputs
内部的所有对象都是同一类型的对象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的功能?