我正在尝试使用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()
)吗?此外,我没有看到如何在加载后从代理中访问获取的对象,因为它是私有属性而且它没有访问器...