[hibernate-issues] [Hibernate-JIRA] Resolved: (HHH-1756) Proxy objects are not removed from the BatchFetchQueue during a session evict

Steve Ebersole (JIRA) noreply at atlassian.com
Thu Nov 2 14:30:05 EST 2006


     [ 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.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list