2015-02-24 48 views
0

我得到這個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

不應該通過在調用getClass()時返回正常類名來初始化initialize(o)上的對象。 這種行爲困擾我,請幫助我們。那裏有什麼?

我發生這個問題的原因是在實現我的域的equals方法時。

回答

1

代理可以處於兩種狀態:初始化或不初始化。代理的初始化不會改變它的運行時類型(沒有什麼可以做到這一點),但只是在底層的非代理對象中加載數據。

+0

那麼如何訪問該底層實際對象? – 2015-02-24 14:50:26

+0

我使用'session.load(id)'或類似的東西。但你的更新需要它實際:) – talex 2015-02-24 15:06:28

+0

我的更新?這是什麼意思? – 2015-02-24 15:16:56