[hibernate-commits] Hibernate SVN: r17628 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Oct 6 04:18:12 EDT 2009


Author: epbernard
Date: 2009-10-06 04:18:12 -0400 (Tue, 06 Oct 2009)
New Revision: 17628

Added:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/FormalLastName.java
Modified:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java
Log:
HHH-4232 add missing test

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java	2009-10-06 08:15:27 UTC (rev 17627)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java	2009-10-06 08:18:12 UTC (rev 17628)
@@ -1,4 +1,27 @@
 //$Id$
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2009, Red Hat, Inc. and/or its affiliates or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors.  All third-party contributions are
+ * distributed under license by Red Hat, Inc.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA  02110-1301  USA
+ */
 package org.hibernate.test.annotations.entity;
 
 import java.math.BigDecimal;
@@ -143,19 +166,33 @@
 
 	}
 
-	//Test import of TypeDefs from MappedSuperclass and 
-	//Embedded classes  
+	/*
+	 * Test import of TypeDefs from MappedSuperclass and 
+	 * Embedded classes.
+	 * The classes 'Name' and 'FormalLastName' both embed the same 
+	 * component 'LastName'. This is to verify that processing the 
+	 * typedef defined in the component TWICE does not create any 
+	 * issues.  
+	 * 
+	 */
 	public void testImportTypeDefinitions() throws Exception {
+		LastName lastName = new LastName();
+		lastName.setName("reddy");
+				
 		Name name = new Name();
 		name.setFirstName("SHARATH");
-		LastName lastName = new LastName();
-		lastName.setName("reddy");
 		name.setLastName(lastName);
+		
+		FormalLastName formalName = new FormalLastName();
+		formalName.setLastName(lastName);
+		formalName.setDesignation("Mr");
+				
 		Session s;
 		Transaction tx;
 		s = openSession();
 		tx = s.beginTransaction();
 		s.persist(name);
+		s.persist(formalName);
 		tx.commit();
 		s.close();
 		 
@@ -165,7 +202,12 @@
 		assertNotNull( name );
 		assertEquals( "sharath", name.getFirstName() );
 		assertEquals( "REDDY", name.getLastName().getName() );
+		
+		formalName = (FormalLastName) s.get(FormalLastName.class, formalName.getId());
+		assertEquals( "REDDY", formalName.getLastName().getName() );
+		
 		s.delete(name);
+		s.delete(formalName);
 		tx.commit();
 		s.close();
 	}
@@ -424,6 +466,7 @@
 				ZipCode.class,
 				Flight.class,
 				Name.class,
+				FormalLastName.class,
 				Car.class,
 				Peugot.class,
 				ContactDetails.class

Added: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/FormalLastName.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/FormalLastName.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/entity/FormalLastName.java	2009-10-06 08:18:12 UTC (rev 17628)
@@ -0,0 +1,71 @@
+//$Id: BasicHibernateAnnotationsTest.java 17531 2009-09-22 17:43:48Z epbernard $
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2009, Red Hat, Inc. and/or its affiliates or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors.  All third-party contributions are
+ * distributed under license by Red Hat, Inc.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA  02110-1301  USA
+ */
+package org.hibernate.test.annotations.entity;
+
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+/**
+ * @author Sharath Reddy
+ */
+ at Entity
+public class FormalLastName {
+
+	@Id
+	@GeneratedValue
+	private Integer id;
+
+	@Embedded
+	private LastName lastName;
+
+	private String designation; /* Mr/Mrs/Master */
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public LastName getLastName() {
+		return lastName;
+	}
+
+	public void setLastName(LastName lastName) {
+		this.lastName = lastName;
+	}
+
+	public String getDesignation() {
+		return designation;
+	}
+
+	public void setDesignation(String designation) {
+		this.designation = designation;
+	}
+	
+}



More information about the hibernate-commits mailing list