|
From: NHibernate J. <nh...@gm...> - 2009-06-18 14:10:19
|
[ http://nhjira.koah.net/browse/NH-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18250#action_18250 ]
Fabio Maulo commented on NH-1845:
---------------------------------
Please review this link
http://nhforge.org/wikis/howtonh/the-best-way-to-get-nhibernate-community-support-submit-precise-description-of-the-problem.aspx
> StatefulPersistenceContext.RemoveEntity KeyNotFoundException on Evict
> ---------------------------------------------------------------------
>
> Key: NH-1845
> URL: http://nhjira.koah.net/browse/NH-1845
> Project: NHibernate
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.1.GA
> Reporter: David Cowan
> Priority: Critical
>
> In entities with parent/child relationships calling Evict can cause KeyNotFoundException's in StatefulPersistenceContext.RemoveEntity
> Stack trace is below. Also see this forum post
> https://forum.hibernate.org/viewtopic.php?f=25&t=993443&view=previous
> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
> at System.ThrowHelper.ThrowKeyNotFoundException()
> at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
> at NHibernate.Engine.StatefulPersistenceContext.RemoveEntity(EntityKey key)
> at NHibernate.Event.Default.DefaultEvictEventListener.OnEvict(EvictEvent event)
> at NHibernate.Impl.SessionImpl.FireEvict(EvictEvent evictEvent)
> at NHibernate.Impl.SessionImpl.Evict(Object obj)
> at NHibernate.Engine.CascadingAction.EvictCascadingAction.Cascade(IEventSource session, Object child, String entityName, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeToOne(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeAssociation(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeProperty(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeOn(IEntityPersister persister, Object parent, Object anything)
> at NHibernate.Event.Default.DefaultEvictEventListener.DoEvict(Object obj, EntityKey key, IEntityPersister persister, IEventSource session)
> at NHibernate.Event.Default.DefaultEvictEventListener.OnEvict(EvictEvent event)
> at NHibernate.Impl.SessionImpl.FireEvict(EvictEvent evictEvent)
> at NHibernate.Impl.SessionImpl.Evict(Object obj)
> at NHibernate.Engine.CascadingAction.EvictCascadingAction.Cascade(IEventSource session, Object child, String entityName, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeToOne(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeAssociation(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeProperty(Object child, IType type, CascadeStyle style, Object anything, Boolean isCascadeDeleteEnabled)
> at NHibernate.Engine.Cascade.CascadeOn(IEntityPersister persister, Object parent, Object anything)
> at NHibernate.Event.Default.DefaultEvictEventListener.DoEvict(Object obj, EntityKey key, IEntityPersister persister, IEventSource session)
> at NHibernate.Event.Default.DefaultEvictEventListener.OnEvict(EvictEvent event)
> at NHibernate.Impl.SessionImpl.FireEvict(EvictEvent evictEvent)
> at NHibernate.Impl.SessionImpl.Evict(Object obj)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://nhjira.koah.net/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
|