You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(110) |
Nov
(296) |
Dec
(107) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(212) |
Feb
(263) |
Mar
(161) |
Apr
(183) |
May
(183) |
Jun
(75) |
Jul
(106) |
Aug
(88) |
Sep
(227) |
Oct
(143) |
Nov
(154) |
Dec
(53) |
2008 |
Jan
(77) |
Feb
|
Mar
|
Apr
(6) |
May
(103) |
Jun
(296) |
Jul
(54) |
Aug
|
Sep
(379) |
Oct
(283) |
Nov
(224) |
Dec
(214) |
2009 |
Jan
(129) |
Feb
(257) |
Mar
(136) |
Apr
(12) |
May
(329) |
Jun
(434) |
Jul
(375) |
Aug
(171) |
Sep
|
Oct
|
Nov
|
Dec
(54) |
2010 |
Jan
(198) |
Feb
(76) |
Mar
(3) |
Apr
(1) |
May
|
Jun
(62) |
Jul
(210) |
Aug
(447) |
Sep
(330) |
Oct
(257) |
Nov
(133) |
Dec
(453) |
2011 |
Jan
(240) |
Feb
(128) |
Mar
(442) |
Apr
(320) |
May
(428) |
Jun
(141) |
Jul
(13) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: NHibernate J. <mik...@us...> - 2006-12-06 07:17:38
|
[ http://jira.nhibernate.org/browse/NH-782?page=comments#action_14542 ] Sergey Koshcheyev commented on NH-782: -------------------------------------- Yes, you should use the one packaged with NHibernate. Castle guys don't change version numbers on DynamicProxy when updating it so blame them for these problems... > Update to latest DynamicProxy to fix race condition > --------------------------------------------------- > > Key: NH-782 > URL: http://jira.nhibernate.org/browse/NH-782 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.0.2, 1.2.0.Beta1 > Reporter: Pawel Pabich > Fix For: 1.2.0.Beta2, 1.0.3 > > .NET farmework 2.0 > MS Sql Server 2005 > This issues is described on the forum: > http://forum.hibernate.org/viewtopic.php?t=952999&postdays=0&postorder=asc&start=15 > That's how I create my session factory: > static DataStore() > { > sessionFactory = new Configuration().Configure().BuildSessionFactory(); > } > That's how I create and use my session object > public void UpdateX(X newX,) > { > using (ISession session = sessionFactory.OpenSession()) > { > using (ITransaction transaction = session.BeginTransaction(IsolationLevel.RepeatableRead)) > { > // some statements > transaction.Commit(); > } > } > } > Now when I call UpdateX using two concurrent threads(they use the same session factory but different sessions) I'm getting this error: > NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Duplicate type name within an assembly. > at System.Reflection.Emit.AssemblyBuilderData.CheckTypeNameConflict(String strTypeName, TypeBuilder enclosingType) > at System.Reflection.Emit.TypeBuilder.Init(String fullname, TypeAttributes attr, Type parent, Type[] interfaces, Module module, PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType) > at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at System.Reflection.Emit.ModuleBuilder.DefineType(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeBuilder.EasyType..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, Boolean serializable) > at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateTypeBuilder(String typeName, Type baseType, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) > at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) > at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean isNullable) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria, IList results) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria) > at NHibernate.Impl.CriteriaImpl.List() > at NHibernate.Impl.CriteriaImpl.UniqueResult() > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.GetScheduledMessageByMessageIndexInternal(Int64 messageIndex, Boolean fetchRelatedObjects, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 289 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.DeleteScheduledMessageByMessageIndexInternal(Int64 messageIndex, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 259 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.UpdateScheduledMessage(ScheduledMessageEntity newMessage, Int32 timeSpan) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 219 > at TestConsoleApplication.Program.Update(Object obj) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\TestConsoleApplication\Program.cs:line 219 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-06 07:06:37
|
[ http://jira.nhibernate.org/browse/NH-832?page=comments#action_14541 ] tgoffice commented on NH-832: ----------------------------- sorry for duplicate post > 1.0.x generates CreateTypeBuilder exception > ------------------------------------------- > > Key: NH-832 > URL: http://jira.nhibernate.org/browse/NH-832 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.0 > Reporter: tgoffice > Priority: Critical > > Originally posted by Pawel Pabich (http://forum.hibernate.org/viewtopic.php?t=952999&start=15&postdays=0&postorder=asc&highlight=) > .NET farmework 2.0 > MS Sql Server 2005 > This issues is described on the forum: > http://forum.hibernate.org/viewtopic.php?t=952999&postdays=0&postorder=asc&start=15 > That's how I create my session factory: > static DataStore() > { > sessionFactory = new Configuration().Configure().BuildSessionFactory(); > } > That's how I create and use my session object > public void UpdateX(X newX,) > { > AssertNotNull(newMessage); > using (ISession session = sessionFactory.OpenSession()) > { > using (ITransaction transaction = session.BeginTransaction(IsolationLevel.RepeatableRead)) > { > // some statements > transaction.Commit(); > } > } > } > Now when I call UpdateX using two concurrent threads I'm getting this error: > NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Duplicate type name within an assembly. > at System.Reflection.Emit.AssemblyBuilderData.CheckTypeNameConflict(String strTypeName, TypeBuilder enclosingType) > at System.Reflection.Emit.TypeBuilder.Init(String fullname, TypeAttributes attr, Type parent, Type[] interfaces, Module module, PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType) > at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at System.Reflection.Emit.ModuleBuilder.DefineType(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeBuilder.EasyType..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, Boolean serializable) > at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateTypeBuilder(String typeName, Type baseType, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) > at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) > at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean isNullable) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria, IList results) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria) > at NHibernate.Impl.CriteriaImpl.List() > at NHibernate.Impl.CriteriaImpl.UniqueResult() > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.GetScheduledMessageByMessageIndexInternal(Int64 messageIndex, Boolean fetchRelatedObjects, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 289 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.DeleteScheduledMessageByMessageIndexInternal(Int64 messageIndex, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 259 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.UpdateScheduledMessage(ScheduledMessageEntity newMessage, Int32 timeSpan) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 219 > at TestConsoleApplication.Program.Update(Object obj) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\TestConsoleApplication\Program.cs:line 219 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-06 07:04:40
|
[ http://jira.nhibernate.org/browse/NH-782?page=comments#action_14540 ] tgoffice commented on NH-782: ----------------------------- We use nh 1.0.3.0 but we still get this error? Is a new version of DynamicProxy required (we use 1.1.5.0)? > Update to latest DynamicProxy to fix race condition > --------------------------------------------------- > > Key: NH-782 > URL: http://jira.nhibernate.org/browse/NH-782 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.0.2, 1.2.0.Beta1 > Reporter: Pawel Pabich > Fix For: 1.2.0.Beta2, 1.0.3 > > .NET farmework 2.0 > MS Sql Server 2005 > This issues is described on the forum: > http://forum.hibernate.org/viewtopic.php?t=952999&postdays=0&postorder=asc&start=15 > That's how I create my session factory: > static DataStore() > { > sessionFactory = new Configuration().Configure().BuildSessionFactory(); > } > That's how I create and use my session object > public void UpdateX(X newX,) > { > using (ISession session = sessionFactory.OpenSession()) > { > using (ITransaction transaction = session.BeginTransaction(IsolationLevel.RepeatableRead)) > { > // some statements > transaction.Commit(); > } > } > } > Now when I call UpdateX using two concurrent threads(they use the same session factory but different sessions) I'm getting this error: > NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Duplicate type name within an assembly. > at System.Reflection.Emit.AssemblyBuilderData.CheckTypeNameConflict(String strTypeName, TypeBuilder enclosingType) > at System.Reflection.Emit.TypeBuilder.Init(String fullname, TypeAttributes attr, Type parent, Type[] interfaces, Module module, PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType) > at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at System.Reflection.Emit.ModuleBuilder.DefineType(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeBuilder.EasyType..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, Boolean serializable) > at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateTypeBuilder(String typeName, Type baseType, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) > at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) > at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean isNullable) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria, IList results) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria) > at NHibernate.Impl.CriteriaImpl.List() > at NHibernate.Impl.CriteriaImpl.UniqueResult() > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.GetScheduledMessageByMessageIndexInternal(Int64 messageIndex, Boolean fetchRelatedObjects, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 289 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.DeleteScheduledMessageByMessageIndexInternal(Int64 messageIndex, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 259 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.UpdateScheduledMessage(ScheduledMessageEntity newMessage, Int32 timeSpan) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 219 > at TestConsoleApplication.Program.Update(Object obj) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\TestConsoleApplication\Program.cs:line 219 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 14:00:37
|
[ http://jira.nhibernate.org/browse/NH-821?page=all ] Sergey Koshcheyev closed NH-821: -------------------------------- Resolution: Won't Fix > Streaming ResultSet support > --------------------------- > > Key: NH-821 > URL: http://jira.nhibernate.org/browse/NH-821 > Project: NHibernate > Type: New Feature > Components: Core > Reporter: Jerry Haltom > Priority: Trivial > > NHibernate should provide support for streaming results. A set of methods such as IQuery.List<T>(ListCb<T> cb, int pageSize) could be introduced to support this. The basic idea is that it would result in NH going to the database layer and invoking the callback periodically as it reads and hydrates instances from the underlying databaes connection. This would not be asynchronous. > The major use case for this is in populating a large list view with results as they arrive from the database, when the database supports streaming result sets. The UI could issue a query along with a callback to be invoked when data arrives. As the callback is invokved, the UI would add the data to it's display. This would result in my faster responding interfaces. > This requires a NH Session to be reentrant. Unsure if this is the case currently. The callback will receive instances which the callback may directly manipulate. If it receives an instance which is a proxy, and it attempts to access a property of it which is lazy, it would result in NH intercepting it and reentering it's own code to issue the query for the lazy properties. > No async support would be attempted. The callback would be invokved by NH directly on the thread which originally entered NH. It would be up to the programmer of the callback. > The end result of this is that the UI can start filling in results as the database works to retrieve those results, which might be the case for very long queries. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 14:00:35
|
[ http://jira.nhibernate.org/browse/NH-823?page=3Dall ] Sergey Koshcheyev updated NH-823: --------------------------------- Fix Version: 1.2.0.Beta3 Component: Core > Duplicate column names should generate NH exception, not ADO.NET > ---------------------------------------------------------------- > > Key: NH-823 > URL: http://jira.nhibernate.org/browse/NH-823 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Andr=C3=A9s G. Aragoneses > Priority: Trivial > Fix For: 1.2.0.Beta3 > > I have found that, if you have a mapping with duplicated name properties,= such: > <hibernate-mapping xmlns=3D"urn:nhibernate-mapping-2.0" default-lazy=3D"t= rue"> > <class name=3D"Language, DataModel" table=3D"IRM_LANGUAGES" > dynamic-update=3D"true"> > <id name=3D"IdLanguage" column=3D"IdLanguage" unsaved-value=3D"0"> > <generator class=3D"native" /> > </id> > <many-to-one name=3D"Type" column=3D"IdLanguage" not-null=3D"true" /> > </class> > </hibernate-mapping> > Here, there is a typo because the column of the many-to-one tag is the sa= me as the column of the ID. We have found that, in this case, instead of wa= rning the user about the wrong mapping file, the exception is thrown when t= he query is sent to the database. --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:58:34
|
[ http://jira.nhibernate.org/browse/NH-820?page=all ] Sergey Koshcheyev updated NH-820: --------------------------------- Fix Version: LATER > External serializer > ------------------- > > Key: NH-820 > URL: http://jira.nhibernate.org/browse/NH-820 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Fabio Maulo > Priority: Minor > Fix For: LATER > > What about to add a config parameter to have an external serializer? > In NHb we can actually use SerializationHelper, we can sill use SerializationHelper like default and we can have an external serializer. > We can introduce a new interface: > public interface ISerializer > { > byte[] Serialize(object obj); > object Deserialize(byte[] data); > } > Using an adapter the user can have he's own optimized serializer. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:58:31
|
[ http://jira.nhibernate.org/browse/NH-831?page=all ] Sergey Koshcheyev updated NH-831: --------------------------------- Fix Version: LATER Setting Fix For: to LATER, change it if you actually finish it for Beta3. > Add MutliCriteria > ----------------- > > Key: NH-831 > URL: http://jira.nhibernate.org/browse/NH-831 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Ayende Rahien > Assignee: Ayende Rahien > Fix For: LATER > > Same idea as IMultiQuery, but for criteria. > I don't think that we can merge the two, though. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:56:34
|
[ http://jira.nhibernate.org/browse/NH-830?page=all ] Sergey Koshcheyev updated NH-830: --------------------------------- Fix Version: 1.2.0.Beta3 Description: It seems that, unlike IQuery, the ICriteria won't automatically flush the session for many-to-many association changes. Note that these symptom only happens when the following 2 conditions are satisfied: 1) the change is about a many-to-many association. It seems work fine with changes to one-to-many assocication 2) the related entities are just reloaded from the database prior to the query. If the entities are just created and saved, the criteria will flush the session prior the query. While you can also find the test case in the attachment, here is the code: //Setup the test data Cat mum = new Cat(); Cat son = new Cat(); sess.Save(mum); sess.Save(son); sess.Flush(); //reload the data and then setup the many-to-many association mum = sess.Get<Cat>(mum.Id); son = sess.Get<Cat>(son.Id); mum.Children.Add(son); son.Parents.Add(mum); sess.FlushMode = FlushMode.Auto; //Use criteria API to search first IList result = sess.CreateCriteria(typeof (Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //the criteria failed to find the mum cat with the child Assert.AreEqual(0, result.Count); //then use HQL query to search result = sess.CreateQuery("from Cat c where :son in elements c.Children ") .SetEntity("son", son) .List(); //HQL query automatically flush the sess and thus find the change Assert.AreEqual(1, result.Count); //then use the same criteria to search again result = sess.CreateCriteria(typeof(Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //find the result this time since the session was already flushed by the previous query Assert.AreEqual(1, result.Count); <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" assembly="NHSessTest" default-lazy="false"> <class name="NHSessTest.Cat" > <id name="Id" type="Int32" unsaved-value="0" > <generator class="identity" /> </id> <set name="Children" lazy="true" table="ChildrenParents" > <key column="Parent" /> <many-to-many class="NHSessTest.Cat" column="Child" /> </set> <set name="Parents" lazy="true" inverse="true" table="ChildrenParents" > <key column="Child" /> <many-to-many class="NHSessTest.Cat" column="Parent" /> </set> </class> </hibernate-mapping> namespace NHSessTest { public class Cat { private int id; private ISet children = new HashedSet(); private ISet parents = new HashedSet(); public int Id { get { return id; } set { id = value; } } public ISet Children { get { return children; } set { children = value; } } public ISet Parents { get { return parents; } set { parents = value; } } } } was: It seems that, unlike IQuery, the ICriteria won't automatically flush the session for many-to-many association changes. Note that these symptom only happens when the following 2 conditions are satisfied: 1) the change is about a many-to-many association. It seems work fine with changes to one-to-many assocication 2) the related entities are just reloaded from the database prior to the query. If the entities are just created and saved, the criteria will flush the session prior the query. While you can also find the test case in the attachment, here is the code: //Setup the test data Cat mum = new Cat(); Cat son = new Cat(); sess.Save(mum); sess.Save(son); sess.Flush(); //reload the data and then setup the many-to-many association mum = sess.Get<Cat>(mum.Id); son = sess.Get<Cat>(son.Id); mum.Children.Add(son); son.Parents.Add(mum); sess.FlushMode = FlushMode.Auto; //Use criteria API to search first IList result = sess.CreateCriteria(typeof (Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //the criteria failed to find the mum cat with the child Assert.AreEqual(0, result.Count); //then use HQL query to search result = sess.CreateQuery("from Cat c where :son in elements c.Children ") .SetEntity("son", son) .List(); //HQL query automatically flush the sess and thus find the change Assert.AreEqual(1, result.Count); //then use the same criteria to search again result = sess.CreateCriteria(typeof(Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //find the result this time since the session was already flushed by the previous query Assert.AreEqual(1, result.Count); <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" assembly="NHSessTest" default-lazy="false"> <class name="NHSessTest.Cat" > <id name="Id" type="Int32" unsaved-value="0" > <generator class="identity" /> </id> <set name="Children" lazy="true" table="ChildrenParents" > <key column="Parent" /> <many-to-many class="NHSessTest.Cat" column="Child" /> </set> <set name="Parents" lazy="true" inverse="true" table="ChildrenParents" > <key column="Child" /> <many-to-many class="NHSessTest.Cat" column="Parent" /> </set> </class> </hibernate-mapping> namespace NHSessTest { public class Cat { private int id; private ISet children = new HashedSet(); private ISet parents = new HashedSet(); public int Id { get { return id; } set { id = value; } } public ISet Children { get { return children; } set { children = value; } } public ISet Parents { get { return parents; } set { parents = value; } } } } > ICriteria does not automatically flush the session for many-to-many association change > -------------------------------------------------------------------------------------- > > Key: NH-830 > URL: http://jira.nhibernate.org/browse/NH-830 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Kailuo Wang > Fix For: 1.2.0.Beta3 > Attachments: SessFlush.zip > > It seems that, unlike IQuery, the ICriteria won't automatically flush the session for many-to-many association changes. > Note that these symptom only happens when the following 2 conditions are satisfied: > 1) the change is about a many-to-many association. It seems work fine with changes to one-to-many assocication > 2) the related entities are just reloaded from the database prior to the query. If the entities are just created and saved, the criteria will flush the session prior the query. > While you can also find the test case in the attachment, here is the code: > //Setup the test data > Cat mum = new Cat(); > Cat son = new Cat(); > sess.Save(mum); > sess.Save(son); > sess.Flush(); > //reload the data and then setup the many-to-many association > mum = sess.Get<Cat>(mum.Id); > son = sess.Get<Cat>(son.Id); > mum.Children.Add(son); > son.Parents.Add(mum); > sess.FlushMode = FlushMode.Auto; > //Use criteria API to search first > IList result = sess.CreateCriteria(typeof (Cat)) > .CreateAlias("Children", "child") > .Add(Expression.Eq("child.Id", son.Id)) > .List(); > //the criteria failed to find the mum cat with the child > Assert.AreEqual(0, result.Count); > > //then use HQL query to search > result = sess.CreateQuery("from Cat c where :son in elements c.Children ") > .SetEntity("son", son) > .List(); > //HQL query automatically flush the sess and thus find the change > Assert.AreEqual(1, result.Count); > //then use the same criteria to search again > result = sess.CreateCriteria(typeof(Cat)) > .CreateAlias("Children", "child") > .Add(Expression.Eq("child.Id", son.Id)) > .List(); > //find the result this time since the session was already flushed by the previous query > Assert.AreEqual(1, result.Count); > <?xml version="1.0" encoding="utf-8" ?> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" assembly="NHSessTest" default-lazy="false"> > <class name="NHSessTest.Cat" > > <id name="Id" type="Int32" unsaved-value="0" > > <generator class="identity" /> > </id> > <set name="Children" lazy="true" table="ChildrenParents" > > <key column="Parent" /> > <many-to-many class="NHSessTest.Cat" column="Child" /> > </set> > <set name="Parents" lazy="true" inverse="true" table="ChildrenParents" > > <key column="Child" /> > <many-to-many class="NHSessTest.Cat" column="Parent" /> > </set> > </class> > </hibernate-mapping> > namespace NHSessTest > { > public class Cat > { > private int id; > private ISet children = new HashedSet(); > private ISet parents = new HashedSet(); > public int Id > { > get { return id; } > set { id = value; } > } > public ISet Children { > get { return children; } > set { children = value; } > } > public ISet Parents { > get { return parents; } > set { parents = value; } > } > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:56:33
|
[ http://jira.nhibernate.org/browse/NH-828?page=all ] Sergey Koshcheyev updated NH-828: --------------------------------- Fix Version: 1.2.0.Beta3 > Port connection release mode from H3 > ------------------------------------ > > Key: NH-828 > URL: http://jira.nhibernate.org/browse/NH-828 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Sergey Koshcheyev > Fix For: 1.2.0.Beta3 > -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:56:32
|
[ http://jira.nhibernate.org/browse/NH-824?page=all ] Sergey Koshcheyev updated NH-824: --------------------------------- Fix Version: LATER type: Improvement (was: Bug) NHibernate does not support generic entities at this time. GetClassname is not the only place where generics break existing assumptions. I'm leaving this report open to fix it later. > GetClassname cannot parse generic classnames > -------------------------------------------- > > Key: NH-824 > URL: http://jira.nhibernate.org/browse/NH-824 > Project: NHibernate > Type: Improvement > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Michael Abraham > Fix For: LATER > Attachments: GetClassnameBug.zip > > There appears to be a bug in NHibernate.Util.StringHelper.GetClassname. The code assumes that the last period in a fully-qualified class name immediately precedes the unqualified class name. That is not true for generic classes. GetClassname gets the unqualified class name of the type parameter with ']' appended. I believe that the same issue may affect StringHelper.Unqualify when it is applied to class names, but I don't know when (or whether) that ever happens. The attached VS2005 solution illustrates the problem. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:51:32
|
[ http://jira.nhibernate.org/browse/NH-800?page=all ] Sergey Koshcheyev updated NH-800: --------------------------------- Fix Version: (was: 1.2.0.Beta3) LATER Will do it later, Sandcastle is not usable enough at this time. > Switch to SandCastle to generate the API documentation > ------------------------------------------------------ > > Key: NH-800 > URL: http://jira.nhibernate.org/browse/NH-800 > Project: NHibernate > Type: Task > Components: Core > Versions: 1.2.0.Beta1 > Reporter: Sergey Koshcheyev > Fix For: LATER > > NDoc doesn't work with generics, there is a problem generating VS.NET 2003 documentation, and it is also dead. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 13:26:33
|
[ http://jira.nhibernate.org/browse/NH-829?page=all ] Fabio Maulo closed NH-829: -------------------------- Resolution: Fixed > pagination select doesn't support 'distinct' for NHibernate.Dialect.FirebirdDialect > ----------------------------------------------------------------------------------- > > Key: NH-829 > URL: http://jira.nhibernate.org/browse/NH-829 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Edward Zhou > Fix For: 1.2.0.Beta3 > Attachments: NH829.patch > > Dialect: NHibernate.Dialect.FirebirdDialect > driver_class: NHibernate.Driver.FirebirdClientDriver > dotNet Framework 2.0 > Firebird 2.0 final > Firebird .Net Provider 2.01 > I encountered an bug, when I put 'distinct' into the HQL statement under pagination, it will cause failure: > eg: > [code] > string hql = "select distinct po from PurchaseBill po left join fetch po.Company company join po.Items pi where (po.BillDate >= :beginDate) and (po.BillDate <= :endDate) and (pi.Product.Id like :productId) order by po.BillDate Desc, po.BillId Desc" > IQuery query = session.CreateQuery(hql); > // seting up parameters > // .. > IList<PurchaseBill> list = query.SetFirstResult(0).SetMaxResults(100).List<PurchaseBill>(); > [/code] > it will gets an error. and I trace the sql generated by NHibernate is: > select distinct first 100 purchasebi0_.f_key_id as f1_16_0_, ... from t_purchase_bill purchasebi0_ left outer join t_company company1_ on purchasebi0_.f_company_id=company1_.f_key_id inner join t_purchase_item items2_ on purchasebi0_.f_key_id=items2_.f_bill_key_id, t_product product3_ where ((product3_.f_id like @p0 and items2_.f_product_id=product3_.f_key_id)) order by purchasebi0_.f_bill_date Desc , purchasebi0_.f_bill_id Desc > Obviously, the keyword 'distinct' is placed in wrong position. it should be placed like > select first 100 distinct ..... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 09:00:29
|
[ http://jira.nhibernate.org/browse/NH-832?page=all ] Sergey Koshcheyev closed NH-832: -------------------------------- Resolution: Duplicate This was reported a long time ago and has been fixed since. If you have something to add, please find the original issue and add your comments there. > 1.0.x generates CreateTypeBuilder exception > ------------------------------------------- > > Key: NH-832 > URL: http://jira.nhibernate.org/browse/NH-832 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.0 > Reporter: tgoffice > Priority: Critical > > Originally posted by Pawel Pabich (http://forum.hibernate.org/viewtopic.php?t=952999&start=15&postdays=0&postorder=asc&highlight=) > .NET farmework 2.0 > MS Sql Server 2005 > This issues is described on the forum: > http://forum.hibernate.org/viewtopic.php?t=952999&postdays=0&postorder=asc&start=15 > That's how I create my session factory: > static DataStore() > { > sessionFactory = new Configuration().Configure().BuildSessionFactory(); > } > That's how I create and use my session object > public void UpdateX(X newX,) > { > AssertNotNull(newMessage); > using (ISession session = sessionFactory.OpenSession()) > { > using (ITransaction transaction = session.BeginTransaction(IsolationLevel.RepeatableRead)) > { > // some statements > transaction.Commit(); > } > } > } > Now when I call UpdateX using two concurrent threads I'm getting this error: > NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Duplicate type name within an assembly. > at System.Reflection.Emit.AssemblyBuilderData.CheckTypeNameConflict(String strTypeName, TypeBuilder enclosingType) > at System.Reflection.Emit.TypeBuilder.Init(String fullname, TypeAttributes attr, Type parent, Type[] interfaces, Module module, PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType) > at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at System.Reflection.Emit.ModuleBuilder.DefineType(String name, TypeAttributes attr, Type parent, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeBuilder.EasyType..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, Boolean serializable) > at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateTypeBuilder(String typeName, Type baseType, Type[] interfaces) > at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) > at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) > at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > --- End of inner exception stack trace --- > at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) > at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) > at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation) > at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean isNullable) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) > at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner) > at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) > at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session) > at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) > at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) > at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) > at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria, IList results) > at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria) > at NHibernate.Impl.CriteriaImpl.List() > at NHibernate.Impl.CriteriaImpl.UniqueResult() > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.GetScheduledMessageByMessageIndexInternal(Int64 messageIndex, Boolean fetchRelatedObjects, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 289 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.DeleteScheduledMessageByMessageIndexInternal(Int64 messageIndex, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 259 > at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.UpdateScheduledMessage(ScheduledMessageEntity newMessage, Int32 timeSpan) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 219 > at TestConsoleApplication.Program.Update(Object obj) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\TestConsoleApplication\Program.cs:line 219 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 08:47:30
|
1.0.x generates CreateTypeBuilder exception ------------------------------------------- Key: NH-832 URL: http://jira.nhibernate.org/browse/NH-832 Project: NHibernate Type: Bug Components: Core Versions: 1.0 Reporter: tgoffice Priority: Critical Originally posted by Pawel Pabich (http://forum.hibernate.org/viewtopic.php?t=952999&start=15&postdays=0&postorder=asc&highlight=) .NET farmework 2.0 MS Sql Server 2005 This issues is described on the forum: http://forum.hibernate.org/viewtopic.php?t=952999&postdays=0&postorder=asc&start=15 That's how I create my session factory: static DataStore() { sessionFactory = new Configuration().Configure().BuildSessionFactory(); } That's how I create and use my session object public void UpdateX(X newX,) { AssertNotNull(newMessage); using (ISession session = sessionFactory.OpenSession()) { using (ITransaction transaction = session.BeginTransaction(IsolationLevel.RepeatableRead)) { // some statements transaction.Commit(); } } } Now when I call UpdateX using two concurrent threads I'm getting this error: NHibernate.HibernateException: Creating a proxy instance failed ---> System.ArgumentException: Duplicate type name within an assembly. at System.Reflection.Emit.AssemblyBuilderData.CheckTypeNameConflict(String strTypeName, TypeBuilder enclosingType) at System.Reflection.Emit.TypeBuilder.Init(String fullname, TypeAttributes attr, Type parent, Type[] interfaces, Module module, PackingSize iPackingSize, Int32 iTypeSize, TypeBuilder enclosingType) at System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock(String name, TypeAttributes attr, Type parent, Type[] interfaces) at System.Reflection.Emit.ModuleBuilder.DefineType(String name, TypeAttributes attr, Type parent, Type[] interfaces) at Castle.DynamicProxy.Builder.CodeBuilder.EasyType..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, Boolean serializable) at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateTypeBuilder(String typeName, Type baseType, Type[] interfaces) at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) --- End of inner exception stack trace --- at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) at NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation) at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean isNullable) at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner) at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj) at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes) at NHibernate.Loader.Criteria.CriteriaLoader.List(ISessionImplementor session) at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria, IList results) at NHibernate.Impl.SessionImpl.Find(CriteriaImpl criteria) at NHibernate.Impl.CriteriaImpl.List() at NHibernate.Impl.CriteriaImpl.UniqueResult() at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.GetScheduledMessageByMessageIndexInternal(Int64 messageIndex, Boolean fetchRelatedObjects, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 289 at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.DeleteScheduledMessageByMessageIndexInternal(Int64 messageIndex, ISession session) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 259 at FullTilt.Tools.Services.ScheduledMessage.FTP.PersistentStorage.DataStore.UpdateScheduledMessage(ScheduledMessageEntity newMessage, Int32 timeSpan) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\PersistentStorage\DataStore.cs:line 219 at TestConsoleApplication.Program.Update(Object obj) in C:\Work\Code\FullTilt\Tools_TableSpam\Services\ScheduledMessage\ScheduledMessage.FTP\TestConsoleApplication\Program.cs:line 219 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 08:19:30
|
Add MutliCriteria ----------------- Key: NH-831 URL: http://jira.nhibernate.org/browse/NH-831 Project: NHibernate Type: New Feature Components: Core Versions: 1.2.0.Beta2 Reporter: Ayende Rahien Assigned to: Ayende Rahien Same idea as IMultiQuery, but for criteria. I don't think that we can merge the two, though. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 07:47:29
|
[ http://jira.nhibernate.org/browse/NH-827?page=all ] Ayende Rahien resolved NH-827: ------------------------------ Resolution: Fixed Fixed > Add a way to issue several queries in one round-trip > ---------------------------------------------------- > > Key: NH-827 > URL: http://jira.nhibernate.org/browse/NH-827 > Project: NHibernate > Type: New Feature > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Ayende Rahien > Assignee: Ayende Rahien > > This feature is aimed at being able to issue several (read) queries in a single round-trip. > In SQL it is; > Select * from Employess; > SELECT count(*) From Employess > etc... > NHibernate should have a method like; > IList results = session.ExecuteQueries(getAllEmployeesPaged, getCountOfEmployees); > employees = results[0]; > int count = (int)results[1][0]; > I think that this is something cross-database, but it has probably different semantics, so it will also need a way for the driver to say it is supported, and a way to merge the queries together. > Maybe also a way to check if this is valid (over 2100 params in SQL Server, for instnace) although the DB will do that. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 07:41:31
|
[ http://jira.nhibernate.org/browse/NH-829?page=comments#action_14531 ] Sergey Koshcheyev commented on NH-829: -------------------------------------- Fabio, commit it please. > pagination select doesn't support 'distinct' for NHibernate.Dialect.FirebirdDialect > ----------------------------------------------------------------------------------- > > Key: NH-829 > URL: http://jira.nhibernate.org/browse/NH-829 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Edward Zhou > Fix For: 1.2.0.CR1 > Attachments: NH829.patch > > Dialect: NHibernate.Dialect.FirebirdDialect > driver_class: NHibernate.Driver.FirebirdClientDriver > dotNet Framework 2.0 > Firebird 2.0 final > Firebird .Net Provider 2.01 > I encountered an bug, when I put 'distinct' into the HQL statement under pagination, it will cause failure: > eg: > [code] > string hql = "select distinct po from PurchaseBill po left join fetch po.Company company join po.Items pi where (po.BillDate >= :beginDate) and (po.BillDate <= :endDate) and (pi.Product.Id like :productId) order by po.BillDate Desc, po.BillId Desc" > IQuery query = session.CreateQuery(hql); > // seting up parameters > // .. > IList<PurchaseBill> list = query.SetFirstResult(0).SetMaxResults(100).List<PurchaseBill>(); > [/code] > it will gets an error. and I trace the sql generated by NHibernate is: > select distinct first 100 purchasebi0_.f_key_id as f1_16_0_, ... from t_purchase_bill purchasebi0_ left outer join t_company company1_ on purchasebi0_.f_company_id=company1_.f_key_id inner join t_purchase_item items2_ on purchasebi0_.f_key_id=items2_.f_bill_key_id, t_product product3_ where ((product3_.f_id like @p0 and items2_.f_product_id=product3_.f_key_id)) order by purchasebi0_.f_bill_date Desc , purchasebi0_.f_bill_id Desc > Obviously, the keyword 'distinct' is placed in wrong position. it should be placed like > select first 100 distinct ..... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 07:41:31
|
[ http://jira.nhibernate.org/browse/NH-826?page=all ] Sergey Koshcheyev updated NH-826: --------------------------------- Fix Version: 1.2.0.CR1 Priority: Major (was: Blocker) > Using Criteria to query for an item throws on Flush in some situations > ---------------------------------------------------------------------- > > Key: NH-826 > URL: http://jira.nhibernate.org/browse/NH-826 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Aaron Jensen > Fix For: 1.2.0.CR1 > Attachments: NHibernateTest.zip > > The situation is best described by the attached sample project, but I will attempt to explain in words when this problem occurs. > EntityA has a many-to-many to EntityB > EntityB has a subclass EntityC > EntityC has a one-to-many to EntityD > If you create an EntityB and associate it to EntityA, then query for EntityA via Criteria (but not via HQL) then Session.Flush() will fail with: > NHibernate.HibernateException: You may not dereference an collection with cascade="all-delete-orphan" > at NHibernate.Impl.SessionImpl.UpdateUnreachableCollection(IPersistentCollection coll) in c:\net\nhibernate\nhibernat > e\src\NHibernate\Impl\SessionImpl.cs:line 3957 > at NHibernate.Impl.SessionImpl.FlushCollections() in c:\net\nhibernate\nhibernate\src\NHibernate\Impl\SessionImpl.cs: > line 3802 > at NHibernate.Impl.SessionImpl.FlushEverything() in c:\net\nhibernate\nhibernate\src\NHibernate\Impl\SessionImpl.cs:l > ine 3090 > The collection it is complaining about is a collection of EntityD objects which should never have been created in the first place. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-05 07:33:33
|
[ http://jira.nhibernate.org/browse/NH-826?page=comments#action_14530 ] Ayende Rahien commented on NH-826: ---------------------------------- The issue is on SessionImpl, line 3396, and the problem is that a collection entry is loaded, even though there isn't any values (or owner) for it. Not sure where to find the issue. Here is the generated SQL; SELECT this_.Id as Id0_2_, activities2_.ActivitySetId as Activity1___4_, activityen3_.Id as ActivityId4_, activityen3_.Id as Id2_0_, activityen3_.ActivityType as Activity2_0_, questions4_.EvaluationActivityId as Evaluati2___5_, questions4_.Id as Id5_, questions4_.Id as Id3_1_ FROM co_activity_set this_ left outer join co_activity_set_membership activities2_ on this_.Id=activities2_.ActivitySetId left outer join co_activity activityen3_ on activities2_.ActivityId=activityen3_.Id left outer join co_question questions4_ on activityen3_.Id=questions4_.EvaluationActivityId WHERE this_.Id = 1 > Using Criteria to query for an item throws on Flush in some situations > ---------------------------------------------------------------------- > > Key: NH-826 > URL: http://jira.nhibernate.org/browse/NH-826 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Aaron Jensen > Priority: Blocker > Attachments: NHibernateTest.zip > > The situation is best described by the attached sample project, but I will attempt to explain in words when this problem occurs. > EntityA has a many-to-many to EntityB > EntityB has a subclass EntityC > EntityC has a one-to-many to EntityD > If you create an EntityB and associate it to EntityA, then query for EntityA via Criteria (but not via HQL) then Session.Flush() will fail with: > NHibernate.HibernateException: You may not dereference an collection with cascade="all-delete-orphan" > at NHibernate.Impl.SessionImpl.UpdateUnreachableCollection(IPersistentCollection coll) in c:\net\nhibernate\nhibernat > e\src\NHibernate\Impl\SessionImpl.cs:line 3957 > at NHibernate.Impl.SessionImpl.FlushCollections() in c:\net\nhibernate\nhibernate\src\NHibernate\Impl\SessionImpl.cs: > line 3802 > at NHibernate.Impl.SessionImpl.FlushEverything() in c:\net\nhibernate\nhibernate\src\NHibernate\Impl\SessionImpl.cs:l > ine 3090 > The collection it is complaining about is a collection of EntityD objects which should never have been created in the first place. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 23:34:33
|
ICriteria does not automatically flush the session for many-to-many association change -------------------------------------------------------------------------------------- Key: NH-830 URL: http://jira.nhibernate.org/browse/NH-830 Project: NHibernate Type: Bug Components: Core Versions: 1.2.0.Beta2 Reporter: Kailuo Wang Attachments: SessFlush.zip It seems that, unlike IQuery, the ICriteria won't automatically flush the session for many-to-many association changes. Note that these symptom only happens when the following 2 conditions are satisfied: 1) the change is about a many-to-many association. It seems work fine with changes to one-to-many assocication 2) the related entities are just reloaded from the database prior to the query. If the entities are just created and saved, the criteria will flush the session prior the query. While you can also find the test case in the attachment, here is the code: //Setup the test data Cat mum = new Cat(); Cat son = new Cat(); sess.Save(mum); sess.Save(son); sess.Flush(); //reload the data and then setup the many-to-many association mum = sess.Get<Cat>(mum.Id); son = sess.Get<Cat>(son.Id); mum.Children.Add(son); son.Parents.Add(mum); sess.FlushMode = FlushMode.Auto; //Use criteria API to search first IList result = sess.CreateCriteria(typeof (Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //the criteria failed to find the mum cat with the child Assert.AreEqual(0, result.Count); //then use HQL query to search result = sess.CreateQuery("from Cat c where :son in elements c.Children ") .SetEntity("son", son) .List(); //HQL query automatically flush the sess and thus find the change Assert.AreEqual(1, result.Count); //then use the same criteria to search again result = sess.CreateCriteria(typeof(Cat)) .CreateAlias("Children", "child") .Add(Expression.Eq("child.Id", son.Id)) .List(); //find the result this time since the session was already flushed by the previous query Assert.AreEqual(1, result.Count); <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo" assembly="NHSessTest" default-lazy="false"> <class name="NHSessTest.Cat" > <id name="Id" type="Int32" unsaved-value="0" > <generator class="identity" /> </id> <set name="Children" lazy="true" table="ChildrenParents" > <key column="Parent" /> <many-to-many class="NHSessTest.Cat" column="Child" /> </set> <set name="Parents" lazy="true" inverse="true" table="ChildrenParents" > <key column="Child" /> <many-to-many class="NHSessTest.Cat" column="Parent" /> </set> </class> </hibernate-mapping> namespace NHSessTest { public class Cat { private int id; private ISet children = new HashedSet(); private ISet parents = new HashedSet(); public int Id { get { return id; } set { id = value; } } public ISet Children { get { return children; } set { children = value; } } public ISet Parents { get { return parents; } set { parents = value; } } } } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 20:42:38
|
[ http://jira.nhibernate.org/browse/NH-829?page=all ] Fabio Maulo updated NH-829: --------------------------- Attachment: NH829.patch Patch and test change. > pagination select doesn't support 'distinct' for NHibernate.Dialect.FirebirdDialect > ----------------------------------------------------------------------------------- > > Key: NH-829 > URL: http://jira.nhibernate.org/browse/NH-829 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Edward Zhou > Fix For: 1.2.0.CR1 > Attachments: NH829.patch > > Dialect: NHibernate.Dialect.FirebirdDialect > driver_class: NHibernate.Driver.FirebirdClientDriver > dotNet Framework 2.0 > Firebird 2.0 final > Firebird .Net Provider 2.01 > I encountered an bug, when I put 'distinct' into the HQL statement under pagination, it will cause failure: > eg: > [code] > string hql = "select distinct po from PurchaseBill po left join fetch po.Company company join po.Items pi where (po.BillDate >= :beginDate) and (po.BillDate <= :endDate) and (pi.Product.Id like :productId) order by po.BillDate Desc, po.BillId Desc" > IQuery query = session.CreateQuery(hql); > // seting up parameters > // .. > IList<PurchaseBill> list = query.SetFirstResult(0).SetMaxResults(100).List<PurchaseBill>(); > [/code] > it will gets an error. and I trace the sql generated by NHibernate is: > select distinct first 100 purchasebi0_.f_key_id as f1_16_0_, ... from t_purchase_bill purchasebi0_ left outer join t_company company1_ on purchasebi0_.f_company_id=company1_.f_key_id inner join t_purchase_item items2_ on purchasebi0_.f_key_id=items2_.f_bill_key_id, t_product product3_ where ((product3_.f_id like @p0 and items2_.f_product_id=product3_.f_key_id)) order by purchasebi0_.f_bill_date Desc , purchasebi0_.f_bill_id Desc > Obviously, the keyword 'distinct' is placed in wrong position. it should be placed like > select first 100 distinct ..... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 20:30:32
|
[ http://jira.nhibernate.org/browse/NH-829?page=comments#action_14526 ] Fabio Maulo commented on NH-829: -------------------------------- Sergey, if you don't have problem i can work on it today. > pagination select doesn't support 'distinct' for NHibernate.Dialect.FirebirdDialect > ----------------------------------------------------------------------------------- > > Key: NH-829 > URL: http://jira.nhibernate.org/browse/NH-829 > Project: NHibernate > Type: Bug > Components: Core > Versions: 1.2.0.Beta2 > Reporter: Edward Zhou > Fix For: 1.2.0.CR1 > > Dialect: NHibernate.Dialect.FirebirdDialect > driver_class: NHibernate.Driver.FirebirdClientDriver > dotNet Framework 2.0 > Firebird 2.0 final > Firebird .Net Provider 2.01 > I encountered an bug, when I put 'distinct' into the HQL statement under pagination, it will cause failure: > eg: > [code] > string hql = "select distinct po from PurchaseBill po left join fetch po.Company company join po.Items pi where (po.BillDate >= :beginDate) and (po.BillDate <= :endDate) and (pi.Product.Id like :productId) order by po.BillDate Desc, po.BillId Desc" > IQuery query = session.CreateQuery(hql); > // seting up parameters > // .. > IList<PurchaseBill> list = query.SetFirstResult(0).SetMaxResults(100).List<PurchaseBill>(); > [/code] > it will gets an error. and I trace the sql generated by NHibernate is: > select distinct first 100 purchasebi0_.f_key_id as f1_16_0_, ... from t_purchase_bill purchasebi0_ left outer join t_company company1_ on purchasebi0_.f_company_id=company1_.f_key_id inner join t_purchase_item items2_ on purchasebi0_.f_key_id=items2_.f_bill_key_id, t_product product3_ where ((product3_.f_id like @p0 and items2_.f_product_id=product3_.f_key_id)) order by purchasebi0_.f_bill_date Desc , purchasebi0_.f_bill_id Desc > Obviously, the keyword 'distinct' is placed in wrong position. it should be placed like > select first 100 distinct ..... -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 20:20:37
|
[ http://jira.nhibernate.org/browse/NH-268?page=comments#action_14525 ] Bastiaan de Rijber commented on NH-268: --------------------------------------- Sorry Segey, I should've known better and learn how to type. I made a mistake in the mapping and this was causing it not to work. Isn't the saying "Never blame the compiler"? ;) > "not-found" attribute on relation mappings > ------------------------------------------ > > Key: NH-268 > URL: http://jira.nhibernate.org/browse/NH-268 > Project: NHibernate > Type: New Feature > Components: Core > Versions: beta-0.8 > Environment: Windows XP Pro. > SQL Server 2000. > Reporter: Tyler Burd > Fix For: 1.2.0.Beta1 > Attachments: NH268.patch, NH268_NewTestFiles.zip > > Hibernate 3 has an attribute on the relation mapping elements (many-to-one, etc) called "not-found". This attribute specifies how NHibernate should handle orpaned relationships. > A link to Hibernate 3 docs regarding not-found: > http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-manytoone > From the docs: > --- > > not-found (optional - defaults to exception): Specifies how cached identifiers that reference missing rows will be handled: ignore will treat a missing row as a null association. > --- > > I've got a ton of legacy data with orphaned relationships, and it would be _wonderful_ if I could have NHibernate NOT throw an exception and just set the reference to null. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 19:49:32
|
[ http://jira.nhibernate.org/browse/NH-268?page=comments#action_14524 ] Sergey Koshcheyev commented on NH-268: -------------------------------------- Please give more details: what you are doing, what you are expecting and what you are actually getting. > "not-found" attribute on relation mappings > ------------------------------------------ > > Key: NH-268 > URL: http://jira.nhibernate.org/browse/NH-268 > Project: NHibernate > Type: New Feature > Components: Core > Versions: beta-0.8 > Environment: Windows XP Pro. > SQL Server 2000. > Reporter: Tyler Burd > Fix For: 1.2.0.Beta1 > Attachments: NH268.patch, NH268_NewTestFiles.zip > > Hibernate 3 has an attribute on the relation mapping elements (many-to-one, etc) called "not-found". This attribute specifies how NHibernate should handle orpaned relationships. > A link to Hibernate 3 docs regarding not-found: > http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-manytoone > From the docs: > --- > > not-found (optional - defaults to exception): Specifies how cached identifiers that reference missing rows will be handled: ignore will treat a missing row as a null association. > --- > > I've got a ton of legacy data with orphaned relationships, and it would be _wonderful_ if I could have NHibernate NOT throw an exception and just set the reference to null. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
From: NHibernate J. <mik...@us...> - 2006-12-04 19:43:37
|
[ http://jira.nhibernate.org/browse/NH-268?page=comments#action_14523 ] Bastiaan de Rijber commented on NH-268: --------------------------------------- I'm having some problems using this attribute for criteria and HQL queries - it appears to be only picked up when doing a normal Get and not when executing queries. Is this by design? > "not-found" attribute on relation mappings > ------------------------------------------ > > Key: NH-268 > URL: http://jira.nhibernate.org/browse/NH-268 > Project: NHibernate > Type: New Feature > Components: Core > Versions: beta-0.8 > Environment: Windows XP Pro. > SQL Server 2000. > Reporter: Tyler Burd > Fix For: 1.2.0.Beta1 > Attachments: NH268.patch, NH268_NewTestFiles.zip > > Hibernate 3 has an attribute on the relation mapping elements (many-to-one, etc) called "not-found". This attribute specifies how NHibernate should handle orpaned relationships. > A link to Hibernate 3 docs regarding not-found: > http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-manytoone > From the docs: > --- > > not-found (optional - defaults to exception): Specifies how cached identifiers that reference missing rows will be handled: ignore will treat a missing row as a null association. > --- > > I've got a ton of legacy data with orphaned relationships, and it would be _wonderful_ if I could have NHibernate NOT throw an exception and just set the reference to null. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.nhibernate.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |