|
From: <hib...@li...> - 2006-05-31 22:03:35
|
Author: ste...@jb...
Date: 2006-05-31 18:03:16 -0400 (Wed, 31 May 2006)
New Revision: 9975
Modified:
trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java
Log:
added hook for HEM to affect deletion of detached entity
Modified: trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java
===================================================================
--- trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java 2006-05-31 18:01:41 UTC (rev 9974)
+++ trunk/Hibernate3/src/org/hibernate/event/def/DefaultDeleteEventListener.java 2006-05-31 22:03:16 UTC (rev 9975)
@@ -65,11 +65,15 @@
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;
}
+ else {
+ performDetachedEntityDeletionCheck( event );
+ }
id = persister.getIdentifier( entity, source.getEntityMode() );
@@ -128,6 +132,11 @@
}
}
+ protected void performDetachedEntityDeletionCheck(DeleteEvent event) {
+ // ok in normal Hibernate usage to delete a detached entity; JPA however
+ // forbids it, thus this is a hook for HEM to affect this behavior
+ }
+
/**
* We encountered a delete request on a transient instance.
* <p/>
|