[hibernate-commits] Hibernate SVN: r18632 - in core/trunk/core/src/main/java/org/hibernate: mapping and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Jan 26 12:12:42 EST 2010


Author: epbernard
Date: 2010-01-26 12:12:42 -0500 (Tue, 26 Jan 2010)
New Revision: 18632

Modified:
   core/trunk/core/src/main/java/org/hibernate/id/CompositeNestedGeneratedValueGenerator.java
   core/trunk/core/src/main/java/org/hibernate/mapping/Component.java
Log:
HHH-4847 inject both object id and the entity itself when asking nested identifier generators

Modified: core/trunk/core/src/main/java/org/hibernate/id/CompositeNestedGeneratedValueGenerator.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/id/CompositeNestedGeneratedValueGenerator.java	2010-01-26 17:11:04 UTC (rev 18631)
+++ core/trunk/core/src/main/java/org/hibernate/id/CompositeNestedGeneratedValueGenerator.java	2010-01-26 17:12:42 UTC (rev 18632)
@@ -67,7 +67,7 @@
 	}
 
 	public static interface GenerationPlan {
-		public void execute(SessionImplementor session, Object incomingObject);
+		public void execute(SessionImplementor session, Object incomingObject, Object objectId);
 	}
 
 	private final GenerationContextLocator generationContextLocator;
@@ -87,7 +87,7 @@
 		Iterator itr = generationPlans.iterator();
 		while ( itr.hasNext() ) {
 			final GenerationPlan plan = (GenerationPlan) itr.next();
-			plan.execute( session, context );
+			plan.execute( session, object, context );
 		}
 
 		return context;

Modified: core/trunk/core/src/main/java/org/hibernate/mapping/Component.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/mapping/Component.java	2010-01-26 17:11:04 UTC (rev 18631)
+++ core/trunk/core/src/main/java/org/hibernate/mapping/Component.java	2010-01-26 17:12:42 UTC (rev 18632)
@@ -434,9 +434,9 @@
 			this.injector = injector;
 		}
 
-		public void execute(SessionImplementor session, Object incomingObject) {
+		public void execute(SessionImplementor session, Object incomingObject, Object idObject) {
 			final Object generatedValue = subGenerator.generate( session, incomingObject );
-			injector.set( incomingObject, generatedValue, session.getFactory() );
+			injector.set( idObject, generatedValue, session.getFactory() );
 		}
 	}
 



More information about the hibernate-commits mailing list