[hibernate-commits] Hibernate SVN: r18633 - in core/trunk/annotations/src: test/java/org/hibernate/test/annotations/derivedidentities/e1 and 7 other directories.

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


Author: epbernard
Date: 2010-01-26 12:15:37 -0500 (Tue, 26 Jan 2010)
New Revision: 18633

Added:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Dependent.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DependentId.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Employee.java
Modified:
   core/trunk/annotations/src/main/java/org/hibernate/cfg/AnnotationBinder.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e2/b/DerivedIdentityIdClassParentEmbeddedIdDepTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/DerivedIdentityEmbeddedIdParentEmbeddedIdDepTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e4/b/DerivedIdentitySimpleParentSimpleDepMapsIdTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e5/b/DerivedIdentityIdClassParentSameIdTypeDepTest.java
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e6/b/DerivedIdentityEmbeddedIdParentSameIdTypeDepTest.java
Log:
HHH-4529 Add support for id copy when @MapsId is used.

Modified: core/trunk/annotations/src/main/java/org/hibernate/cfg/AnnotationBinder.java
===================================================================
--- core/trunk/annotations/src/main/java/org/hibernate/cfg/AnnotationBinder.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/main/java/org/hibernate/cfg/AnnotationBinder.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -967,127 +967,6 @@
 		return true;
 	}
 
-//	/*
-//	 * Get the annotated elements, guessing the access type from @Id or @EmbeddedId presence.
-//	 * Change EntityBinder by side effect
-//	 */
-//	private static InheritanceState.ElementsToProcess getElementsToProcess(
-//			PersistentClass persistentClass, XClass clazzToProcess,
-//			Map<XClass, InheritanceState> inheritanceStatePerClass,
-//			EntityBinder entityBinder, ExtendedMappings mappings
-//	) {
-//		InheritanceState inheritanceState = inheritanceStatePerClass.get( clazzToProcess );
-//		assert !inheritanceState.isEmbeddableSuperclass();
-//
-//
-//		List<XClass> classesToProcess = getMappedSuperclassesTillNextEntityOrdered(
-//				persistentClass, clazzToProcess, inheritanceStatePerClass, mappings
-//		);
-//
-//		AccessType accessType = determineDefaultAccessType( clazzToProcess, inheritanceStatePerClass );
-//
-//		List<PropertyData> elements = new ArrayList<PropertyData>();
-//		int deep = classesToProcess.size();
-//		int idPropertyCount = 0;
-//
-//		for ( int index = 0; index < deep; index++ ) {
-//			PropertyContainer propertyContainer = new PropertyContainer( classesToProcess.get( index ), clazzToProcess );
-//			int currentIdPropertyCount = addElementsOfClass( elements, accessType, propertyContainer, mappings );
-//			idPropertyCount +=  currentIdPropertyCount;
-//		}
-//
-//		entityBinder.setPropertyAccessType( accessType );
-//
-//		if ( idPropertyCount == 0 && !inheritanceState.hasParents() ) {
-//			throw new AnnotationException( "No identifier specified for entity: " + clazzToProcess.getName() );
-//		}
-//
-//		return new InheritanceState.ElementsToProcess( elements, idPropertyCount);
-//	}
-
-//	private static AccessType determineDefaultAccessType(XClass annotatedClass, Map<XClass, InheritanceState> inheritanceStatePerClass) {
-//		XClass xclass = annotatedClass;
-//		while ( xclass != null && !Object.class.getName().equals( xclass.getName() ) ) {
-//			if ( xclass.isAnnotationPresent( Entity.class ) || xclass.isAnnotationPresent( MappedSuperclass.class ) ) {
-//				for ( XProperty prop : xclass.getDeclaredProperties( AccessType.PROPERTY.getType() ) ) {
-//					if ( prop.isAnnotationPresent( Id.class ) || prop.isAnnotationPresent( EmbeddedId.class ) ) {
-//						return AccessType.PROPERTY;
-//					}
-//				}
-//				for ( XProperty prop : xclass.getDeclaredProperties( AccessType.FIELD.getType() ) ) {
-//					if ( prop.isAnnotationPresent( Id.class ) || prop.isAnnotationPresent( EmbeddedId.class ) ) {
-//						return AccessType.FIELD;
-//					}
-//				}
-//			}
-//			xclass = xclass.getSuperclass();
-//		}
-//		throw new AnnotationException( "No identifier specified for entity: " + annotatedClass.getName() );
-//	}
-//
-//	private static List<XClass> getMappedSuperclassesTillNextEntityOrdered(
-//			PersistentClass persistentClass, XClass annotatedClass,
-//			Map<XClass, InheritanceState> inheritanceStatePerClass,
-//			ExtendedMappings mappings
-//	) {
-//
-//		//ordered to allow proper messages on properties subclassing
-//		List<XClass> classesToProcess = new ArrayList<XClass>();
-//		XClass currentClassInHierarchy = annotatedClass;
-//		InheritanceState superclassState;
-//		final ReflectionManager reflectionManager = mappings.getReflectionManager();
-//		do {
-//			classesToProcess.add( 0, currentClassInHierarchy );
-//			XClass superClass = currentClassInHierarchy;
-//			do {
-//				superClass = superClass.getSuperclass();
-//				superclassState = inheritanceStatePerClass.get( superClass );
-//			}
-//			while ( superClass != null && !reflectionManager
-//					.equals( superClass, Object.class ) && superclassState == null );
-//
-//			currentClassInHierarchy = superClass;
-//		}
-//		while ( superclassState != null && superclassState.isEmbeddableSuperclass() );
-//		addMappedSuperClassInMetadata(
-//				persistentClass, annotatedClass, inheritanceStatePerClass, mappings, classesToProcess
-//		);
-//
-//
-//		return classesToProcess;
-//	}
-//
-//	private static void addMappedSuperClassInMetadata(PersistentClass persistentClass,
-//													  XClass annotatedClass,
-//													  Map<XClass, InheritanceState> inheritanceStatePerClass,
-//													  ExtendedMappings mappings,
-//													  List<XClass> classesToProcess) {
-//		//add @MappedSuperclass in the metadata
-//		// classes from 0 to n-1 are @MappedSuperclass and should be linked
-//		org.hibernate.mapping.MappedSuperclass mappedSuperclass = null;
-//		final InheritanceState superEntityState =
-//				InheritanceState.getInheritanceStateOfSuperEntity( annotatedClass, inheritanceStatePerClass );
-//		PersistentClass superEntity =
-//				superEntityState != null ?
-//						mappings.getClass( superEntityState.getClazz().getName() ) :
-//						null;
-//		final int lastMappedSuperclass = classesToProcess.size() - 1;
-//		for ( int index = 0 ; index < lastMappedSuperclass ; index++ ) {
-//			org.hibernate.mapping.MappedSuperclass parentSuperclass = mappedSuperclass;
-//			final Class<?> type = mappings.getReflectionManager().toClass( classesToProcess.get( index ) );
-//			//add MAppedSuperclass if not already there
-//			mappedSuperclass = mappings.getMappedSuperclass( type );
-//			if (mappedSuperclass == null) {
-//				mappedSuperclass = new org.hibernate.mapping.MappedSuperclass(parentSuperclass, superEntity );
-//				mappedSuperclass.setMappedClass( type );
-//				mappings.addMappedSuperclass( type, mappedSuperclass );
-//			}
-//		}
-//		if (mappedSuperclass != null) {
-//			persistentClass.setSuperMappedSuperclass(mappedSuperclass);
-//		}
-//	}
-
 	/*
 	 * Process the filters defined on the given class, as well as all filters defined
 	 * on the MappedSuperclass(s) in the inheritance hierarchy
@@ -1347,11 +1226,6 @@
 			}
 			log.trace( "{} is a version property", inferredData.getPropertyName() );
 			RootClass rootClass = (RootClass) propertyHolder.getPersistentClass();
-//			PropertyBinder propBinder = new PropertyBinder();
-//			propBinder.setName( inferredData.getPropertyName() );
-//			propBinder.setReturnedClassName( inferredData.getTypeName() );
-//			propBinder.setLazy( false );
-//			propBinder.setAccessType( inferredData.getDefaultAccess() );
 			propertyBinder.setColumns( columns );
 			Property prop = propertyBinder.makePropertyValueAndBind();
 			propertyBinder.getSimpleValueBinder().setVersion(true);
@@ -1809,23 +1683,43 @@
 
 				propertyBinder.setLazy( lazy );
 				propertyBinder.setColumns( columns );
-//				if ( isIdentifierMapper ) {
-//					propertyBinder.setInsertable( false );
-//					propertyBinder.setUpdatable( false );
-//				}
+
 				propertyBinder.makePropertyValueAndBind();
+
 			}
+			if (isOverridden) {
+					final PropertyData mapsIdProperty = BinderHelper.getPropertyAnnotatedWithMapsId(
+							isId, propertyHolder, property.getName(), mappings
+					);
+					HashMap<String, IdGenerator> localGenerators = (HashMap<String, IdGenerator>) classGenerators.clone();
+					final IdGenerator foreignGenerator = new IdGenerator();
+					foreignGenerator.setIdentifierGeneratorStrategy( "assigned" );
+					foreignGenerator.setName( "Hibernate-local--foreign generator" );
+					foreignGenerator.setIdentifierGeneratorStrategy( "foreign" );
+					foreignGenerator.addParam( "property", mapsIdProperty.getPropertyName() );
+					localGenerators.put( foreignGenerator.getName(), foreignGenerator );
+
+					BinderHelper.makeIdGenerator(
+							(SimpleValue) propertyBinder.getValue(),
+							foreignGenerator.getIdentifierGeneratorStrategy(),
+							foreignGenerator.getName(),
+							mappings,
+							localGenerators
+					);
+				}
 			if (isId) {
 				//components and regular basic types create SimpleValue objects
 				final SimpleValue value = ( SimpleValue ) propertyBinder.getValue();
-				processId(
-						propertyHolder,
-						inferredData,
-						value,
-						classGenerators,
-						isIdentifierMapper,
-						mappings
-				);
+				if ( !isOverridden ) {
+					processId(
+							propertyHolder,
+							inferredData,
+							value,
+							classGenerators,
+							isIdentifierMapper,
+							mappings
+					);
+				}
 			}
 		}
 		//init index
@@ -1862,7 +1756,13 @@
 		}
 	}
 
-	private static void processId(PropertyHolder propertyHolder, PropertyData inferredData, SimpleValue idValue, HashMap<String, IdGenerator> classGenerators, boolean isIdentifierMapper, ExtendedMappings mappings) {
+	private static void processId(
+			PropertyHolder propertyHolder,
+			PropertyData inferredData,
+			SimpleValue idValue,
+			HashMap<String, IdGenerator> classGenerators,
+			boolean isIdentifierMapper,
+			ExtendedMappings mappings) {
 		if ( isIdentifierMapper ) {
 			throw new AnnotationException(
 					"@IdClass class should not have @Id nor @EmbeddedId properties: "

Added: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Dependent.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Dependent.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Dependent.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -0,0 +1,22 @@
+package org.hibernate.test.annotations.derivedidentities.e1.a;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.ManyToOne;
+
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+ at IdClass(DependentId.class)
+public class Dependent {
+	@Id
+	String name;
+
+	// id attribute mapped by join column default
+	@Id
+	@ManyToOne
+	Employee emp;
+}

Copied: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DependentId.java (from rev 18624, core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DependentId.java)
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DependentId.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DependentId.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -0,0 +1,11 @@
+package org.hibernate.test.annotations.derivedidentities.e1.a;
+
+import java.io.Serializable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class DependentId implements Serializable {
+	String name;
+	long empPK;	// corresponds to PK type of Employee
+}
\ No newline at end of file

Copied: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java (from rev 18625, core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java)
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/DerivedIdentitySimpleParentIdClassDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -0,0 +1,45 @@
+package org.hibernate.test.annotations.derivedidentities.e1.a;
+
+import org.hibernate.Session;
+import org.hibernate.test.annotations.TestCase;
+import org.hibernate.test.util.SchemaUtil;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class
+		DerivedIdentitySimpleParentIdClassDepTest extends TestCase {
+
+	public void testManyToOne() throws Exception {
+//		assertTrue( SchemaUtil.isColumnPresent( "Dependent", "FK", getCfg() ) );
+//		assertTrue( ! SchemaUtil.isColumnPresent( "Dependent", "empPK", getCfg() ) );
+//		Employee e = new Employee();
+//		e.empId = 1;
+//		e.empName = "Emmanuel";
+//		Session s = openSession(  );
+//		s.getTransaction().begin();
+//		s.persist( e );
+//		Dependent d = new Dependent();
+//		d.emp = e;
+//		d.name = "Doggy";
+//		d.emp = e;
+//		s.persist( d );
+//		s.flush();
+//		s.clear();
+//		DependentId dId = new DependentId();
+//		dId.name = d.name;
+//		dId.empPK = d.emp.empId;
+//		d = (Dependent) s.get( Dependent.class, dId );
+//		assertEquals( e.empId, d.emp.empId );
+//		s.getTransaction().rollback();
+//		s.close();
+	}
+
+	@Override
+	protected Class<?>[] getAnnotatedClasses() {
+		return new Class<?>[] {
+				//Dependent.class,
+				//Employee.class
+		};
+	}
+}
\ No newline at end of file

Copied: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Employee.java (from rev 18624, core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/Employee.java)
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Employee.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/a/Employee.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -0,0 +1,14 @@
+package org.hibernate.test.annotations.derivedidentities.e1.a;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+public class Employee {
+	@Id
+	long empId;
+	String empName;
+}
\ No newline at end of file

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -23,7 +23,7 @@
 		d.emp = e;
 		d.id = new DependentId();
 		d.id.name = "Doggy";
-		d.id.empPK = e.empId; //FIXME not needed when foreign is enabled
+		//d.id.empPK = e.empId; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();
@@ -46,7 +46,7 @@
 		d.emp = e;
 		d.id = new DependentId();
 		d.id.name = "Doggy";
-		d.id.empPK = e.empId; //FIXME not needed when foreign is enabled
+		//d.id.empPK = e.empId; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e2/b/DerivedIdentityIdClassParentEmbeddedIdDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e2/b/DerivedIdentityIdClassParentEmbeddedIdDepTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e2/b/DerivedIdentityIdClassParentEmbeddedIdDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -25,9 +25,9 @@
 		d.emp = e;
 		d.id = new DependentId();
 		d.id.name = "Doggy";
-		d.id.empPK = new EmployeeId();
-		d.id.empPK.firstName = e.firstName; //FIXME not needed when foreign is enabled
-		d.id.empPK.lastName = e.lastName; //FIXME not needed when foreign is enabled
+//		d.id.empPK = new EmployeeId(); //FIXME not needed when foreign is enabled
+//		d.id.empPK.firstName = e.firstName; //FIXME not needed when foreign is enabled
+//		d.id.empPK.lastName = e.lastName; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/DerivedIdentityEmbeddedIdParentEmbeddedIdDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/DerivedIdentityEmbeddedIdParentEmbeddedIdDepTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e3/b/DerivedIdentityEmbeddedIdParentEmbeddedIdDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -25,9 +25,9 @@
 		d.emp = e;
 		d.id = new DependentId();
 		d.id.name = "Doggy";
-		d.id.empPK = new EmployeeId();
-		d.id.empPK.firstName = e.empId.firstName; //FIXME not needed when foreign is enabled
-		d.id.empPK.lastName = e.empId.lastName; //FIXME not needed when foreign is enabled
+//		d.id.empPK = new EmployeeId();
+//		d.id.empPK.firstName = e.empId.firstName; //FIXME not needed when foreign is enabled
+//		d.id.empPK.lastName = e.empId.lastName; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e4/b/DerivedIdentitySimpleParentSimpleDepMapsIdTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e4/b/DerivedIdentitySimpleParentSimpleDepMapsIdTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e4/b/DerivedIdentitySimpleParentSimpleDepMapsIdTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -21,7 +21,7 @@
 		s.persist( e );
 		MedicalHistory d = new MedicalHistory();
 		d.patient = e;
-		d.id = "aaa"; //FIXME not needed when foreign is enabled
+		//d.id = "aaa"; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();
@@ -46,7 +46,7 @@
 		s.persist( e );
 		FinancialHistory d = new FinancialHistory();
 		d.patient = e;
-		d.id = "aaa"; //FIXME not needed when foreign is enabled
+		//d.id = "aaa"; //FIXME not needed when foreign is enabled
 		s.persist( d );
 		s.flush();
 		s.clear();

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e5/b/DerivedIdentityIdClassParentSameIdTypeDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e5/b/DerivedIdentityIdClassParentSameIdTypeDepTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e5/b/DerivedIdentityIdClassParentSameIdTypeDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -22,9 +22,9 @@
 		s.getTransaction().begin();
 		s.persist( e );
 		MedicalHistory d = new MedicalHistory();
-		d.id = new PersonId();
-		d.id.firstName = "Emmanuel"; //FIXME not needed when foreign is enabled
-		d.id.lastName = "Bernard"; //FIXME not needed when foreign is enabled
+//		d.id = new PersonId(); //FIXME not needed when foreign is enabled
+//		d.id.firstName = "Emmanuel"; //FIXME not needed when foreign is enabled
+//		d.id.lastName = "Bernard"; //FIXME not needed when foreign is enabled
 		d.patient = e;
 		s.persist( d );
 		s.flush();

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e6/b/DerivedIdentityEmbeddedIdParentSameIdTypeDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e6/b/DerivedIdentityEmbeddedIdParentSameIdTypeDepTest.java	2010-01-26 17:12:42 UTC (rev 18632)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e6/b/DerivedIdentityEmbeddedIdParentSameIdTypeDepTest.java	2010-01-26 17:15:37 UTC (rev 18633)
@@ -21,9 +21,9 @@
 		s.getTransaction().begin();
 		s.persist( e );
 		MedicalHistory d = new MedicalHistory();
-		d.id = new PersonId();
-		d.id.firstName = "Emmanuel"; //FIXME not needed when foreign is enabled
-		d.id.lastName = "Bernard"; //FIXME not needed when foreign is enabled
+//		d.id = new PersonId();
+//		d.id.firstName = "Emmanuel"; //FIXME not needed when foreign is enabled
+//		d.id.lastName = "Bernard"; //FIXME not needed when foreign is enabled
 		d.patient = e;
 		s.persist( d );
 		s.flush();



More information about the hibernate-commits mailing list