我控制了这个object
。在object.getClass()
上显示com.mypack.class_james_007
,我认为此对象直到现在还未初始化,属于class's
代理。
我测试org.hibernate.Hibernate.isInitialized(object)
,它说的是真的。
我做org.hibernate.Hibernate.initialize(object)
。在object.getClass()
之后,它仍然显示com.mypack.class_james_007
。
通过在调用initialize(o)
时返回正常的类名,它不应该在getClass()
上初始化对象。
这种行为让我困惑,请帮帮我们。有什么收获?
我遇到此问题的原因是在实现我的域的equals方法时。
答案 0 :(得分:1)
代理可以处于两种状态:已初始化或未初始化。代理的初始化不会改变它的运行时类型(没有什么可以做到这一点),而只是在底层的非代理对象中加载数据。