These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Lazy-Load, Initialize, and Evict problem
PostPosted: Fri Dec 26, 2008 3:22 pm 
Newbie

Joined: Fri Dec 26, 2008 1:52 pm
Posts: 3
Hello,
I'm struggling to upgrade NHibernate from 1.2.1 to 2.0.1. The test below works in 1.2.1, but fails in 2.0.1 with a KeyNotFoundException. I've condensed it as much as I can - it appears to be related to lazy loading a collection, initializing an element of the collection, and evicting the parent from the session. Any ideas?

Hibernate version:
2.0.1

Mapping documents:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-cascade="all">
   <class name="NHibernateTest.Category, NHibernateTest" table="Categories" lazy="true"
      dynamic-update="true" select-before-update="true">

      <id name="Id" column="Id" type="Int32" unsaved-value="0">
         <generator class="identity" />
      </id>

      <property name="Name" />
      <property name="SortIndex" />

      <many-to-one name="Parent" column="ParentCategoryId"
          class="NHibernateTest.Category, NHibernateTest" not-null="false"
          access="nosetter.camelcase"/>

      <list name="Subcategories" cascade="all" generic="true" access="nosetter.camelcase"
            inverse="true" lazy="true">
         <key column="ParentCategoryId"/>
         <index column="SortIndex"/>
         <one-to-many class="NHibernateTest.Category, NHibernateTest"/>
      </list>
   </class>
</hibernate-mapping>


Code between sessionFactory.openSession() and session.close():
Code:
// Test.cs
using System.Reflection;
using log4net.Config;
using NHibernate;
using NHibernate.Cfg;
using NUnit.Framework;

namespace NHibernateTest
{
    [TestFixture]
    public class Test
    {
        [Test]
        public void LazyLoad_Initialize_AndEvict()
        {
            BasicConfigurator.Configure();
            ISessionFactory factory = new Configuration()
                .Configure("hibernate.cfg.xml")
                .AddAssembly(Assembly.GetExecutingAssembly())
                .BuildSessionFactory();

            Category category = new Category("parent");
            category.AddSubcategory(new Category("child"));
            SaveCategory(factory, category);

            ISession session = factory.OpenSession();
            ITransaction transaction = session.BeginTransaction();
            Category loaded = session.Load<Category>(category.Id);
            NHibernateUtil.Initialize(loaded.Subcategories[0]);
            session.Evict(loaded);
            transaction.Commit();

            Assert.AreEqual("child", loaded.Subcategories[0].Name, "cannot access child");
        }

        private void SaveCategory(ISessionFactory factory, Category category)
        {
            ISession session = factory.OpenSession();
            ITransaction transaction = session.BeginTransaction();
            session.SaveOrUpdate(category);
            transaction.Commit();
        }
    }
}


// Category.cs
using System;
using System.Collections.Generic;

namespace NHibernateTest
{
    [Serializable]
    public class Category
    {
        private int id;
        private string name;
        private int sortIndex;
        private Category parent;
        private IList<Category> subcategories = new List<Category>();

        public Category() : this("") { }

        public Category(string name)
        {
            this.name = name;
            sortIndex = 0;
        }

        public virtual int Id
        {
            get { return id; }
            set { id = value; }
        }

        public virtual string Name
        {
            get { return name; }
            set { name = value; }
        }

        public virtual int SortIndex
        {
            get { return sortIndex; }
            set { sortIndex = value; }
        }

        public virtual Category Parent
        {
            get { return parent; }
            set { parent = value; }
        }

        public virtual IList<Category> Subcategories
        {
            get { return subcategories; }
        }

        public virtual void AddSubcategory(Category subcategory)
        {
            subcategories.Add(subcategory);
            subcategory.Parent = this;
        }

        public override string ToString()
        {
            return Name;
        }

        public override bool Equals(object obj)
        {
            Category other = obj as Category;
            if (other == null) return false;
            return other.Name == Name;
        }

        public override int GetHashCode()
        {
            return Name.GetHashCode();
        }
    }
}


Full stack trace of any exception that occurs:

Quote:
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.CascadeCollectionElements(Object child, CollectionType collectionType, CascadeStyle style, IType elemType, Object anything, Boolean isCascadeDeleteEnabled)
at NHibernate.Engine.Cascade.CascadeCollection(Object child, CascadeStyle style, Object anything, CollectionType type)
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 NHibernateTest.Test.LazyLoad_Initialize_AndEvict() in C:\dev\NHibernateTest\NHibernateTest\Test.cs:line 27


Name and version of the database you are using:

SQL Server 2005

The generated SQL (show_sql=true):

Quote:
NHibernate: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'parent', @p1 = '0', @p2 = ''
NHibernate: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'child', @p1 = '0', @p2 = '9'
NHibernate: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=@p0; @p0 = '9'
NHibernate: SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=@p0; @p0 = '9'


Debug level Hibernate log excerpt:

Quote:
328 [TestRunnerThread] INFO NHibernate.Cfg.Environment (null) - NHibernate 2.0.1.4000 (2.0.1.4000)
453 [TestRunnerThread] INFO NHibernate.Cfg.Environment (null) - hibernate-configuration section not found in application configuration file
468 [TestRunnerThread] INFO NHibernate.Cfg.Environment (null) - Bytecode provider name : lcg
468 [TestRunnerThread] INFO NHibernate.Cfg.Environment (null) - Using reflection optimizer
1187 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - connection.provider=NHibernate.Connection.DriverConnectionProvider
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - dialect=NHibernate.Dialect.MsSql2000Dialect
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - connection.driver_class=NHibernate.Driver.SqlClientDriver
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - show_sql=true
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - use_outer_join=true
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - default_schema=dbo
1203 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - max_fetch_depth=3
1218 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - connection.connection_string=server=localhost;database=NHibernateTest;Integrated Security=SSPI;
1218 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - properties: System.Collections.Generic.Dictionary`2[System.String,System.String]
1218 [TestRunnerThread] INFO NHibernate.Cfg.Configuration (null) - Mapping resource: NHibernateTest.Category.hbm.xml
1609 [TestRunnerThread] INFO NHibernate.Dialect.Dialect (null) - Using dialect: NHibernate.Dialect.MsSql2000Dialect
4171 [TestRunnerThread] INFO NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapping class: NHibernateTest.Category -> Categories
4187 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped property: Id -> Id, type: Int32
4234 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped property: Name -> Name, type: String
4234 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped property: SortIndex -> SortIndex, type: Int32
4250 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped property: Parent -> ParentCategoryId, type: NHibernateTest.Category
4281 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped property: Subcategories, type: System.Collections.Generic.IList`1[[NHibernateTest.Category, NHibernateTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]](NHibernateTest.Category.Subcategories)
4281 [TestRunnerThread] INFO NHibernate.Cfg.Configuration (null) - checking mappings queue
4281 [TestRunnerThread] INFO NHibernate.Cfg.Configuration (null) - processing one-to-many association mappings
4281 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Second pass for collection: NHibernateTest.Category.Subcategories
4296 [TestRunnerThread] INFO NHibernate.Cfg.XmlHbmBinding.Binder (null) - mapping collection: NHibernateTest.Category.Subcategories -> Categories
4296 [TestRunnerThread] DEBUG NHibernate.Cfg.XmlHbmBinding.Binder (null) - Mapped collection key: ParentCategoryId, index: SortIndex, one-to-many: NHibernateTest.Category
4312 [TestRunnerThread] INFO NHibernate.Cfg.Configuration (null) - processing one-to-one association property references
4312 [TestRunnerThread] INFO NHibernate.Cfg.Configuration (null) - processing foreign key constraints
4312 [TestRunnerThread] DEBUG NHibernate.Cfg.Configuration (null) - resolving reference to class: NHibernateTest.Category
4343 [TestRunnerThread] INFO NHibernate.Dialect.Dialect (null) - Using dialect: NHibernate.Dialect.MsSql2000Dialect
4359 [TestRunnerThread] INFO NHibernate.Exceptions.SQLExceptionConverterFactory (null) - Using dialect defined converter
4359 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Maximum outer join fetch depth: 3
4375 [TestRunnerThread] INFO NHibernate.Connection.ConnectionProviderFactory (null) - Initializing connection provider: NHibernate.Connection.DriverConnectionProvider
4375 [TestRunnerThread] INFO NHibernate.Connection.ConnectionProvider (null) - Configuring ConnectionProvider
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Transaction factory: NHibernate.Transaction.AdoNetTransactionFactory
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Optimize cache for minimal puts: False
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Connection release mode: auto
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Default schema: dbo
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Default batch fetch size: 1
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - echoing all SQL to stdout
4375 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Statistics: disabled
4390 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Query translator: NHibernate.Hql.Classic.ClassicQueryTranslatorFactory
4390 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Query language substitutions: {}
4390 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - cache provider: NHibernate.Cache.NoCacheProvider, NHibernate, Version=2.0.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4
4390 [TestRunnerThread] DEBUG NHibernate.Cfg.SettingsFactory (null) - Wrap result sets: disabled
4390 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Batcher factory: NHibernate.AdoNet.NonBatchingBatcherFactory, NHibernate, Version=2.0.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4
4390 [TestRunnerThread] INFO NHibernate.Cfg.SettingsFactory (null) - Named query checking : enabled
4421 [TestRunnerThread] INFO NHibernate.Impl.SessionFactoryImpl (null) - building session factory
4421 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - instantiating session factory with properties: {use_reflection_optimizer=True, connection.provider=NHibernate.Connection.DriverConnectionProvider, dialect=NHibernate.Dialect.MsSql2000Dialect, connection.driver_class=NHibernate.Driver.SqlClientDriver, show_sql=true, use_outer_join=true, default_schema=dbo, max_fetch_depth=3, connection.connection_string=server=localhost;database=NHibernateTest;Integrated Security=SSPI;}
4546 [TestRunnerThread] DEBUG NHibernate.Tuple.Entity.AbstractEntityTuplizer (null) - No custom accessors found for entity: NHibernateTest.Category
4546 [TestRunnerThread] DEBUG NHibernate.Tuple.Entity.AbstractEntityTuplizer (null) - No custom accessors found for entity: NHibernateTest.Category
4734 [TestRunnerThread] DEBUG NHibernate.Persister.Collection.ICollectionPersister (null) - Static SQL for collection: NHibernateTest.Category.Subcategories
4734 [TestRunnerThread] DEBUG NHibernate.Persister.Collection.ICollectionPersister (null) - Row insert: UPDATE dbo.Categories SET ParentCategoryId = ?, SortIndex = ? WHERE Id = ?
4734 [TestRunnerThread] DEBUG NHibernate.Persister.Collection.ICollectionPersister (null) - Row delete: UPDATE dbo.Categories SET ParentCategoryId = null, SortIndex = null WHERE ParentCategoryId = ? AND Id = ?
4734 [TestRunnerThread] DEBUG NHibernate.Persister.Collection.ICollectionPersister (null) - One-shot delete: UPDATE dbo.Categories SET ParentCategoryId = null, SortIndex = null WHERE ParentCategoryId = ?
4734 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - initializing class SessionFactoryObjectFactory
4734 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - registered: c47f0f19e5684e34a8541716a0bce35e(unnamed)
4734 [TestRunnerThread] INFO NHibernate.Impl.SessionFactoryObjectFactory (null) - no name configured
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Static SQL for entity: NHibernateTest.Category
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Version select: SELECT Id FROM dbo.Categories WHERE Id = ?
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Snapshot select: SELECT category_.Id, category_.Name as Name0_, category_.SortIndex as SortIndex0_, category_.ParentCategoryId as ParentCa4_0_ FROM dbo.Categories category_ WHERE category_.Id=?
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Insert 0: NHibernate.SqlCommand.SqlCommandInfo
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Update 0: NHibernate.SqlCommand.SqlCommandInfo
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Delete 0: NHibernate.SqlCommand.SqlCommandInfo
4796 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Identity insert: NHibernate.SqlCommand.SqlCommandInfo
4843 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for entity NHibernateTest.Category: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=?
4843 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for entity NHibernateTest.Category: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=?
4843 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for entity NHibernateTest.Category: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ with (updlock, rowlock) WHERE category0_.Id=?
4843 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for entity NHibernateTest.Category: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ with (updlock, rowlock) WHERE category0_.Id=?
4843 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for entity NHibernateTest.Category: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ with (updlock, rowlock) WHERE category0_.Id=?
4859 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for action NHibernate.Engine.CascadingAction+MergeCascadingAction on entity NHibernateTest.Category: SELECT category0_.Id as Id0_1_, category0_.Name as Name0_1_, category0_.SortIndex as SortIndex0_1_, category0_.ParentCategoryId as ParentCa4_0_1_, category1_.Id as Id0_0_, category1_.Name as Name0_0_, category1_.SortIndex as SortIndex0_0_, category1_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ left outer join dbo.Categories category1_ on category0_.ParentCategoryId=category1_.Id WHERE category0_.Id=?
4859 [TestRunnerThread] DEBUG NHibernate.Loader.Entity.AbstractEntityLoader (null) - Static select for action NHibernate.Engine.CascadingAction+RefreshCascadingAction on entity NHibernateTest.Category: SELECT category0_.Id as Id0_1_, category0_.Name as Name0_1_, category0_.SortIndex as SortIndex0_1_, category0_.ParentCategoryId as ParentCa4_0_1_, category1_.Id as Id0_0_, category1_.Name as Name0_0_, category1_.SortIndex as SortIndex0_0_, category1_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ left outer join dbo.Categories category1_ on category0_.ParentCategoryId=category1_.Id WHERE category0_.Id=?
4875 [TestRunnerThread] DEBUG NHibernate.Loader.Collection.OneToManyLoader (null) - Static select for one-to-many NHibernateTest.Category.Subcategories: SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=?
4875 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - Instantiated session factory
4875 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - Checking 0 named HQL queries
4890 [TestRunnerThread] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - Checking 0 named SQL queries
4906 [TestRunnerThread] DEBUG NHibernate.Impl.SessionImpl (null) - opened session
4906 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Begin (Unspecified)
4906 [TestRunnerThread] DEBUG NHibernate.Connection.DriverConnectionProvider (null) - Obtaining IDbConnection from Driver
5312 [TestRunnerThread] DEBUG NHibernate.Engine.IdentifierValue (null) - unsaved-value: 0
5312 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - transient instance of: NHibernateTest.Category
5312 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - saving transient instance
5328 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - saving [NHibernateTest.Category#<null>]
5328 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5328 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5328 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - executing insertions
5343 [TestRunnerThread] DEBUG NHibernate.Event.Default.WrapVisitor (null) - Wrapped collection in role: NHibernateTest.Category.Subcategories
5343 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - executing identity-insert immediately
5359 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Inserting entity: NHibernateTest.Category (native id)
5375 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened new IDbCommand, open IDbCommands: 1
5375 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Building an IDbCommand object for the SqlString: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (?, ?, ?); select SCOPE_IDENTITY()
5390 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Dehydrating entity: [NHibernateTest.Category#<null>]
5390 [TestRunnerThread] DEBUG NHibernate.Type.StringType (null) - binding 'parent' to parameter: 0
5390 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding '0' to parameter: 1
5390 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding null to parameter: 2
5406 [TestRunnerThread] DEBUG NHibernate.SQL (null) - INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'parent', @p1 = '0', @p2 = ''
NHibernate: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'parent', @p1 = '0', @p2 = ''
5406 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Enlist Command
5500 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened IDataReader, open IDataReaders: 1
5515 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '11' as column:
5515 [TestRunnerThread] DEBUG NHibernate.Id.IdentifierGeneratorFactory (null) - Natively generated identity: 11
5515 [TestRunnerThread] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
5531 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDataReader, open IDataReaders :0
5531 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDbCommand, open IDbCommands: 0
5546 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5546 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5562 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to saveOrUpdate: NHibernateTest.Category
5562 [TestRunnerThread] DEBUG NHibernate.Engine.IdentifierValue (null) - unsaved-value: 0
5562 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - transient instance of: NHibernateTest.Category
5562 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - saving transient instance
5562 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - saving [NHibernateTest.Category#<null>]
5578 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5578 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to saveOrUpdate: NHibernateTest.Category
5578 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - persistent instance of: NHibernateTest.Category
5578 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - ignoring persistent instance
5578 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - object already associated with session: [NHibernateTest.Category#11]
5578 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5578 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - executing insertions
5578 [TestRunnerThread] DEBUG NHibernate.Event.Default.WrapVisitor (null) - Wrapped collection in role: NHibernateTest.Category.Subcategories
5593 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - executing identity-insert immediately
5593 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Inserting entity: NHibernateTest.Category (native id)
5593 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened new IDbCommand, open IDbCommands: 1
5593 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Building an IDbCommand object for the SqlString: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (?, ?, ?); select SCOPE_IDENTITY()
5593 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Dehydrating entity: [NHibernateTest.Category#<null>]
5593 [TestRunnerThread] DEBUG NHibernate.Type.StringType (null) - binding 'child' to parameter: 0
5593 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding '0' to parameter: 1
5593 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding '11' to parameter: 2
5593 [TestRunnerThread] DEBUG NHibernate.SQL (null) - INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'child', @p1 = '0', @p2 = '11'
NHibernate: INSERT INTO dbo.Categories (Name, SortIndex, ParentCategoryId) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY(); @p0 = 'child', @p1 = '0', @p2 = '11'
5593 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Enlist Command
5609 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened IDataReader, open IDataReaders: 1
5609 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '12' as column:
5609 [TestRunnerThread] DEBUG NHibernate.Id.IdentifierGeneratorFactory (null) - Natively generated identity: 12
5609 [TestRunnerThread] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
5609 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDataReader, open IDataReaders :0
5609 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDbCommand, open IDbCommands: 0
5609 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5625 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5625 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5625 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5625 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5625 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5625 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Start Commit
5625 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - flushing session
5625 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - processing flush-time cascades
5640 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5640 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5640 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to saveOrUpdate: NHibernateTest.Category
5640 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - persistent instance of: NHibernateTest.Category
5640 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - ignoring persistent instance
5640 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - object already associated with session: [NHibernateTest.Category#12]
5640 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5640 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5640 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5640 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to saveOrUpdate: NHibernateTest.Category
5656 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractSaveEventListener (null) - persistent instance of: NHibernateTest.Category
5656 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - ignoring persistent instance
5656 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener (null) - object already associated with session: [NHibernateTest.Category#11]
5656 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5656 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for collection: NHibernateTest.Category.Subcategories
5656 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - done processing cascade NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for: NHibernateTest.Category
5656 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - dirty checking collections
5656 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - Flushing entities and processing referenced collections
5671 [TestRunnerThread] DEBUG NHibernate.Engine.Collections (null) - Collection found: [NHibernateTest.Category.Subcategories#11], was: [<unreferenced>] (initialized)
5671 [TestRunnerThread] DEBUG NHibernate.Engine.Collections (null) - Collection found: [NHibernateTest.Category.Subcategories#12], was: [<unreferenced>] (initialized)
5687 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - Processing unreferenced collections
5687 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - Scheduling collection removes/(re)creates/updates
5687 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - Flushed: 0 insertions, 0 updates, 0 deletions to 2 objects
5687 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - Flushed: 2 (re)creations, 0 updates, 0 removals to 2 collections
5687 [TestRunnerThread] DEBUG NHibernate.Impl.Printer (null) - listing entities:
5703 [TestRunnerThread] DEBUG NHibernate.Impl.Printer (null) - NHibernateTest.Category{SortIndex=0, Subcategories=[NHibernateTest.Category#12], Name=parent, Id=11, Parent=null}
5703 [TestRunnerThread] DEBUG NHibernate.Impl.Printer (null) - NHibernateTest.Category{SortIndex=0, Subcategories=[], Name=child, Id=12, Parent=NHibernateTest.Category#11}
5703 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - executing flush
5703 [TestRunnerThread] DEBUG NHibernate.AdoNet.ConnectionManager (null) - registering flush begin
5718 [TestRunnerThread] DEBUG NHibernate.AdoNet.ConnectionManager (null) - registering flush end
5718 [TestRunnerThread] DEBUG NHibernate.Event.Default.AbstractFlushingEventListener (null) - post flush
5718 [TestRunnerThread] DEBUG NHibernate.Impl.SessionImpl (null) - before transaction completion
5734 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - IDbTransaction Committed
5734 [TestRunnerThread] DEBUG NHibernate.Impl.SessionImpl (null) - transaction completion
5734 [TestRunnerThread] DEBUG NHibernate.AdoNet.ConnectionManager (null) - aggressively releasing database connection
5734 [TestRunnerThread] DEBUG NHibernate.Connection.ConnectionProvider (null) - Closing connection
5750 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - IDbTransaction disposed.
5750 [TestRunnerThread] DEBUG NHibernate.Impl.SessionImpl (null) - opened session
5750 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Begin (Unspecified)
5750 [TestRunnerThread] DEBUG NHibernate.Connection.DriverConnectionProvider (null) - Obtaining IDbConnection from Driver
5765 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - loading entity: [NHibernateTest.Category#11]
5765 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - creating new proxy for entity
6015 [TestRunnerThread] DEBUG NHibernate.Impl.SessionImpl (null) - initializing proxy: [NHibernateTest.Category#11]
6015 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - attempting to resolve: [NHibernateTest.Category#11]
6015 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - object not resolved in any cache: [NHibernateTest.Category#11]
6015 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Fetching entity: [NHibernateTest.Category#11]
6031 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - loading entity: [NHibernateTest.Category#11]
6046 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened new IDbCommand, open IDbCommands: 1
6046 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Building an IDbCommand object for the SqlString: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=?
6046 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding '11' to parameter: 0
6046 [TestRunnerThread] INFO NHibernate.Loader.Loader (null) - SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=@p0
6046 [TestRunnerThread] DEBUG NHibernate.SQL (null) - SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=@p0; @p0 = '11'
NHibernate: SELECT category0_.Id as Id0_0_, category0_.Name as Name0_0_, category0_.SortIndex as SortIndex0_0_, category0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories category0_ WHERE category0_.Id=@p0; @p0 = '11'
6062 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Enlist Command
6062 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened IDataReader, open IDataReaders: 1
6062 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - processing result set
6062 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - result set row: 0
6062 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - result row: EntityKey[NHibernateTest.Category#11]
6062 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - Initializing object from DataReader: [NHibernateTest.Category#11]
6078 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Hydrating entity: [NHibernateTest.Category#11]
6078 [TestRunnerThread] DEBUG NHibernate.Type.StringType (null) - returning 'parent' as column: Name0_0_
6078 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '0' as column: SortIndex0_0_
6078 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning null as column: ParentCa4_0_0_
6078 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - done processing result set (1 rows)
6078 [TestRunnerThread] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
6078 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDataReader, open IDataReaders :0
6078 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDbCommand, open IDbCommands: 0
6078 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - total objects hydrated: 1
6078 [TestRunnerThread] DEBUG NHibernate.Engine.TwoPhaseLoad (null) - resolving associations for [NHibernateTest.Category#11]
6093 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - creating collection wrapper:[NHibernateTest.Category.Subcategories#11]
6093 [TestRunnerThread] DEBUG NHibernate.Engine.TwoPhaseLoad (null) - done materializing entity [NHibernateTest.Category#11]
6093 [TestRunnerThread] DEBUG NHibernate.Engine.StatefulPersistenceContext (null) - initializing non-lazy collections
6093 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - done entity load
6093 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultInitializeCollectionEventListener (null) - initializing collection [NHibernateTest.Category.Subcategories#11]
6093 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultInitializeCollectionEventListener (null) - checking second-level cache
6093 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultInitializeCollectionEventListener (null) - collection not cached
6093 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - loading collection: [NHibernateTest.Category.Subcategories#11]
6093 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened new IDbCommand, open IDbCommands: 1
6093 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Building an IDbCommand object for the SqlString: SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=?
6093 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - binding '11' to parameter: 0
6093 [TestRunnerThread] INFO NHibernate.Loader.Loader (null) - SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=@p0
6093 [TestRunnerThread] DEBUG NHibernate.SQL (null) - SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=@p0; @p0 = '11'
NHibernate: SELECT subcategor0_.ParentCategoryId as ParentCa4_1_, subcategor0_.Id as Id1_, subcategor0_.SortIndex as SortIndex1_, subcategor0_.Id as Id0_0_, subcategor0_.Name as Name0_0_, subcategor0_.SortIndex as SortIndex0_0_, subcategor0_.ParentCategoryId as ParentCa4_0_0_ FROM dbo.Categories subcategor0_ WHERE subcategor0_.ParentCategoryId=@p0; @p0 = '11'
6093 [TestRunnerThread] DEBUG NHibernate.Transaction.AdoTransaction (null) - Enlist Command
6140 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Opened IDataReader, open IDataReaders: 1
6140 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - result set contains (possibly empty) collection: [NHibernateTest.Category.Subcategories#11]
6140 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - constructing collection load context for result set [NHibernate.Driver.NHybridDataReader]
6140 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - starting attempt to find loading collection [[NHibernateTest.Category.Subcategories#11]]
6140 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - collection not yet initialized; initializing
6140 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - processing result set
6140 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - result set row: 0
6140 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '12' as column: Id0_0_
6140 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - result row: EntityKey[NHibernateTest.Category#12]
6140 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - Initializing object from DataReader: [NHibernateTest.Category#12]
6140 [TestRunnerThread] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister (null) - Hydrating entity: [NHibernateTest.Category#12]
6140 [TestRunnerThread] DEBUG NHibernate.Type.StringType (null) - returning 'child' as column: Name0_0_
6140 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '0' as column: SortIndex0_0_
6140 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '11' as column: ParentCa4_0_0_
6156 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '11' as column: ParentCa4_1_
6156 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - found row of collection: [NHibernateTest.Category.Subcategories#11]
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - starting attempt to find loading collection [[NHibernateTest.Category.Subcategories#11]]
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - attempting to locate loading collection entry [CollectionKey[NHibernateTest.Category.Subcategories#11]] in any result-set context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - collection [CollectionKey[NHibernateTest.Category.Subcategories#11]] not located in load context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - found loading collection bound to current result set processing; reading row
6156 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '12' as column: Id1_
6156 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - loading entity: [NHibernateTest.Category#12]
6156 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - attempting to resolve: [NHibernateTest.Category#12]
6156 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - resolved object in session cache: [NHibernateTest.Category#12]
6156 [TestRunnerThread] DEBUG NHibernate.Type.Int32Type (null) - returning '0' as column: SortIndex1_
6156 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - done processing result set (1 rows)
6156 [TestRunnerThread] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
6156 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDataReader, open IDataReaders :0
6156 [TestRunnerThread] DEBUG NHibernate.AdoNet.AbstractBatcher (null) - Closed IDbCommand, open IDbCommands: 0
6156 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - total objects hydrated: 1
6156 [TestRunnerThread] DEBUG NHibernate.Engine.TwoPhaseLoad (null) - resolving associations for [NHibernateTest.Category#12]
6156 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - loading entity: [NHibernateTest.Category#11]
6156 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultLoadEventListener (null) - entity proxy found in session cache
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - attempting to locate loading collection entry [CollectionKey[NHibernateTest.Category.Subcategories#12]] in any result-set context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - collection [CollectionKey[NHibernateTest.Category.Subcategories#12]] located in load context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - creating collection wrapper:[NHibernateTest.Category.Subcategories#12]
6156 [TestRunnerThread] DEBUG NHibernate.Engine.TwoPhaseLoad (null) - done materializing entity [NHibernateTest.Category#12]
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - attempting to locate loading collection entry [CollectionKey[NHibernateTest.Category.Subcategories#11]] in any result-set context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.LoadContexts (null) - collection [CollectionKey[NHibernateTest.Category.Subcategories#11]] not located in load context
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - removing collection load entry [NHibernate.Engine.Loading.LoadingCollectionEntry<rs=NHibernate.Driver.NHybridDataReader, coll=[NHibernateTest.Category.Subcategories#11]>@28b6ca1]
6156 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - 1 collections were found in result set for role: NHibernateTest.Category.Subcategories
6171 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - ending loading collection [NHibernate.Engine.Loading.LoadingCollectionEntry<rs=NHibernate.Driver.NHybridDataReader, coll=[NHibernateTest.Category.Subcategories#11]>@28b6ca1]
6171 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - collection fully initialized: [NHibernateTest.Category.Subcategories#11]
6171 [TestRunnerThread] DEBUG NHibernate.Engine.Loading.CollectionLoadContext (null) - 1 collections initialized for role: NHibernateTest.Category.Subcategories
6171 [TestRunnerThread] DEBUG NHibernate.Engine.StatefulPersistenceContext (null) - initializing non-lazy collections
6171 [TestRunnerThread] DEBUG NHibernate.Loader.Loader (null) - done loading collection
6171 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultInitializeCollectionEventListener (null) - collection initialized
6171 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultEvictEventListener (null) - evicting [NHibernateTest.Category]
6171 [TestRunnerThread] DEBUG NHibernate.Event.Default.EvictVisitor (null) - evicting collection: [NHibernateTest.Category.Subcategories#11]
6171 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+EvictCascadingAction for: NHibernateTest.Category
6171 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - cascade NHibernate.Engine.CascadingAction+EvictCascadingAction for collection: NHibernateTest.Category.Subcategories
6171 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to evict: NHibernateTest.Category
6171 [TestRunnerThread] DEBUG NHibernate.Event.Default.DefaultEvictEventListener (null) - evicting [NHibernateTest.Category]
6171 [TestRunnerThread] DEBUG NHibernate.Event.Default.EvictVisitor (null) - evicting collection: [NHibernateTest.Category.Subcategories#12]
6171 [TestRunnerThread] INFO NHibernate.Engine.Cascade (null) - processing cascade NHibernate.Engine.CascadingAction+EvictCascadingAction for: NHibernateTest.Category
6171 [TestRunnerThread] DEBUG NHibernate.Engine.CascadingAction (null) - cascading to evict: NHibernateTest.Category


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 30, 2008 11:37 am 
Newbie

Joined: Fri Dec 26, 2008 1:52 pm
Posts: 3
In case anyone else has this problem, the workaround I've found is to use a set instead of a list in my mapping file. I haven't identified the root cause, but this allows me to continue with the upgrade.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 31, 2008 3:57 pm 
Newbie

Joined: Fri Dec 26, 2008 1:52 pm
Posts: 3
Ignore my previous comment - I still had problems with sets. The only workaround I came up with was to patch NHibernate's StatefulPersistenceContext class:


Code:
Index: StatefulPersistenceContext.cs
===================================================================
--- StatefulPersistenceContext.cs   (revision 10712)
+++ StatefulPersistenceContext.cs   (revision 10713)
@@ -430,6 +430,9 @@
      /// </summary>
      public object RemoveEntity(EntityKey key)
      {
+            if (!entitiesByKey.ContainsKey(key))
+                return null;
+
         object tempObject = entitiesByKey[key];
         entitiesByKey.Remove(key);
         object entity = tempObject;
[/code]


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.