|
From: <hib...@li...> - 2006-05-24 21:44:03
|
Author: ste...@jb...
Date: 2006-05-24 17:43:29 -0400 (Wed, 24 May 2006)
New Revision: 9945
Modified:
trunk/Hibernate3/src/org/hibernate/engine/CascadingAction.java
trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java
Log:
HHH-1779 : minor
Modified: trunk/Hibernate3/src/org/hibernate/engine/CascadingAction.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/engine/CascadingAction.java 2006-05-24 21:14:56 UTC (rev 9944)
+++ trunk/Hibernate3/src/org/hibernate/engine/CascadingAction.java 2006-05-24 21:43:29 UTC (rev 9945)
@@ -46,9 +46,7 @@
if ( log.isTraceEnabled() ) {
log.trace("cascading to delete: " + entityName);
}
-// if ( ForeignKeys.isNotTransient(entityName, child, null, session) ) {
- session.delete( entityName, child, isCascadeDeleteEnabled, ( Set ) anything );
-// }
+ session.delete( entityName, child, isCascadeDeleteEnabled, ( Set ) anything );
}
public Iterator getCascadableChildrenIterator(EventSource session, CollectionType collectionType, Object collection) {
// delete does cascade to uninitialized collections
Modified: trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java 2006-05-24 21:14:56 UTC (rev 9944)
+++ trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java 2006-05-24 21:43:29 UTC (rev 9945)
@@ -56,29 +56,27 @@
final PersistenceContext persistenceContext = source.getPersistenceContext();
Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );
- EntityEntry entityEntry = persistenceContext.getEntry(entity);
-
+ EntityEntry entityEntry = persistenceContext.getEntry( entity );
final EntityPersister persister;
final Serializable id;
final Object version;
+
if ( entityEntry == null ) {
- log.trace( "deleting a detached instance" );
+ log.trace( "entity was not persistent in delete processing" );
persister = source.getEntityPersister( event.getEntityName(), entity );
+ if ( ForeignKeys.isTransient( persister.getEntityName(), entity, null, source ) ) {
+ deleteTransientEntity( source, entity, event.isCascadeDeleteEnabled(), persister, transientEntities );
+ // EARLY EXIT!!!
+ return;
+ }
+
id = persister.getIdentifier( entity, source.getEntityMode() );
if ( id == null ) {
-// throw new TransientObjectException(
-// "the detached instance passed to delete() had a null identifier"
-// );
- if ( ForeignKeys.isNotTransient( persister.getEntityName(), entity, null, source ) ) {
- throw new TransientObjectException( "the detached instance passed to delete() had a null identifier" );
- }
- else {
- deleteTransientEntity( source, entity, event.isCascadeDeleteEnabled(), persister, transientEntities );
- // EARLY EXIT!!!
- return;
- }
+ throw new TransientObjectException(
+ "the detached instance passed to delete() had a null identifier"
+ );
}
EntityKey key = new EntityKey( id, persister, source.getEntityMode() );
|