[hibernate-commits] Hibernate SVN: r10458 - branches/Branch_3_2/Hibernate3/src/org/hibernate/engine

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Sep 6 10:07:23 EDT 2006


Author: epbernard
Date: 2006-09-06 10:07:22 -0400 (Wed, 06 Sep 2006)
New Revision: 10458

Modified:
   branches/Branch_3_2/Hibernate3/src/org/hibernate/engine/CascadingAction.java
Log:
EJB-221

Modified: branches/Branch_3_2/Hibernate3/src/org/hibernate/engine/CascadingAction.java
===================================================================
--- branches/Branch_3_2/Hibernate3/src/org/hibernate/engine/CascadingAction.java	2006-09-06 13:51:50 UTC (rev 10457)
+++ branches/Branch_3_2/Hibernate3/src/org/hibernate/engine/CascadingAction.java	2006-09-06 14:07:22 UTC (rev 10458)
@@ -11,6 +11,7 @@
 import org.hibernate.LockMode;
 import org.hibernate.ReplicationMode;
 import org.hibernate.TransientObjectException;
+import org.hibernate.proxy.HibernateProxy;
 import org.hibernate.persister.entity.EntityPersister;
 import org.hibernate.collection.PersistentCollection;
 import org.hibernate.event.EventSource;
@@ -344,7 +345,9 @@
 			if ( type.isEntityType() ) {
 				String childEntityName = ( ( EntityType ) type ).getAssociatedEntityName( session.getFactory() );
 
-				if ( ! isInManagedState( child, session ) && ForeignKeys.isTransient( childEntityName, child, null, session ) ) {
+				if ( ! isInManagedState( child, session )
+						&& ! ( child instanceof HibernateProxy ) //a proxy cannot be transient and it breaks ForeignKeys.isTransient
+						&& ForeignKeys.isTransient( childEntityName, child, null, session ) ) {
 					String parentEntiytName = persister.getEntityName();
 					String propertyName = persister.getPropertyNames()[propertyIndex];
 					throw new TransientObjectException(




More information about the hibernate-commits mailing list