From: <fab...@us...> - 2008-09-14 13:24:59
|
Revision: 3760 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3760&view=rev Author: fabiomaulo Date: 2008-09-14 13:25:09 +0000 (Sun, 14 Sep 2008) Log Message: ----------- Merge r3758 (fix NH-1484) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Engine/IMapping.cs trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractPropertyMapping.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-09-14 13:07:51 UTC (rev 3759) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-09-14 13:25:09 UTC (rev 3760) @@ -153,6 +153,11 @@ } return prop.Type; } + + public bool HasNonIdentifierPropertyNamedId(string className) + { + return "id".Equals(GetIdentifierPropertyName(className)); + } } [NonSerialized] Modified: trunk/nhibernate/src/NHibernate/Engine/IMapping.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Engine/IMapping.cs 2008-09-14 13:07:51 UTC (rev 3759) +++ trunk/nhibernate/src/NHibernate/Engine/IMapping.cs 2008-09-14 13:25:09 UTC (rev 3760) @@ -13,5 +13,7 @@ string GetIdentifierPropertyName(string className); IType GetReferencedPropertyType(string className, string propertyName); + + bool HasNonIdentifierPropertyNamedId(string className); } -} \ No newline at end of file +} Modified: trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs 2008-09-14 13:07:51 UTC (rev 3759) +++ trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs 2008-09-14 13:25:09 UTC (rev 3760) @@ -818,6 +818,11 @@ return GetEntityPersister(className).GetPropertyType(propertyName); } + public bool HasNonIdentifierPropertyNamedId(string className) + { + return "id".Equals(GetIdentifierPropertyName(className)); + } + public IConnectionProvider ConnectionProvider { get { return settings.ConnectionProvider; } Modified: trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractPropertyMapping.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractPropertyMapping.cs 2008-09-14 13:07:51 UTC (rev 3759) +++ trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractPropertyMapping.cs 2008-09-14 13:25:09 UTC (rev 3760) @@ -180,17 +180,8 @@ private bool HasNonIdentifierPropertyNamedId(EntityType entityType, IMapping factory) { - // TODO : would be great to have a Mapping#hasNonIdentifierPropertyNamedId method - // I don't believe that Mapping#getReferencedPropertyType accounts for the identifier property; so - // if it returns for a property named 'id', then we should have a non-id field named id - try - { - return factory.GetReferencedPropertyType(entityType.GetAssociatedEntityName(), EntityPersister.EntityID) != null; - } - catch (MappingException) - { - return false; - } + // NH: Different implementation (removed done "todo" of H3.2.6) + return factory.HasNonIdentifierPropertyNamedId(entityType.GetAssociatedEntityName()); } protected void InitComponentPropertyPaths(string path, IAbstractComponentType type, string[] columns, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |