[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1756?page=all ]
Steve Ebersole resolved HHH-1756:
---------------------------------
Resolution: Fixed
applied to trunk and 3.2
Proxy objects are not removed from the BatchFetchQueue during a
session evict
-----------------------------------------------------------------------------
Key: HHH-1756
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1756
Project: Hibernate3
Type: Bug
Components: core
Environment: Windows, Sybase, Hibernate Annotations
Reporter: Vadim Pertsovskiy
Assignee: Steve Ebersole
Fix For: 3.2.1
When an entity loads, it initializes its children proxies and adds them to the
BatchFetchQueue. The next time any of the proxies classes are loaded, hibernate retrieves
additional objects rather then just the requested one. This works great, except if the
user wants to evict the proxy from the BatchFetchQueue. Hibernate, incorrectly, does not
do it. Once a proxy is added to the BatchFetchQueue, it's never removed unless the
object is loaded.
To fix the problem, we've altered the SessionImpl class. During a proxy remove, the
proxy is also removed from the BatchFetchQueue.
public Object removeProxy(EntityKey key) {
getBatchFetchQueue().removeBatchLoadableEntityKey(key);
getBatchFetchQueue().removeSubselect(key);
return proxiesByKey.remove(key);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira