2012-09-06 129 views
0

爲什麼驅逐的對象仍然是hibernate代理?退出並不意味着退出?

我在調用session.clear();

在接下來的一行中,我在調試器上看到其中一個對象仍然是hibernate代理。

這種休眠行爲有什麼好的解釋嗎?

回答

1

session.evict在調用evict時不能更改在堆棧上覆制的變量的內容,因此該變量仍然指向代理。

據我所知,以確保你得到參考平等 evertime你用相同的ID session.get它將返回初始化代理。