[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