我正在尝试使用 Spring Data Mongo 的@DBRef(lazy = true)
特性来延迟加载关联,但它似乎不起作用。即使它加载了Mainobject
一个空的ReferencedObject
,在引用对象内部也有一个CGLIB$CALLBACK_0
代理对象已经加载了关联。这不是打败了延迟加载的概念吗?此外,当我将对象返回给客户端时,它会返回两次关联:
mainObject: {
field: value
reference: { //same object
refField: refValue
},
target: { //same object
refField: refValue
}
}
延迟关联的目标不是仅在某些方法调用之后获取对象(getRefObject()
例如)吗?此外,我看不到如何在加载后从其代理访问获取的对象,因为它是私有属性并且没有访问器...