[hibernate-commits] Hibernate SVN: r17048 - in jpamodelgen/trunk: test/src/main/java/model and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jul 8 09:43:40 EDT 2009


Author: epbernard
Date: 2009-07-08 09:43:40 -0400 (Wed, 08 Jul 2009)
New Revision: 17048

Added:
   jpamodelgen/trunk/test/src/main/java/model/Address.java
   jpamodelgen/trunk/test/src/main/java/model/Area.java
   jpamodelgen/trunk/test/src/main/java/model/Building.java
   jpamodelgen/trunk/test/src/main/java/model/House.java
Modified:
   jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/JPAMetaModelEntityProcessor.java
   jpamodelgen/trunk/test/src/test/java/InheritanceTest.java
Log:
Support for mapped superclass inheritance

Modified: jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/JPAMetaModelEntityProcessor.java
===================================================================
--- jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/JPAMetaModelEntityProcessor.java	2009-07-08 13:18:09 UTC (rev 17047)
+++ jpamodelgen/trunk/generator/src/main/java/org/hibernate/jpa/metamodel/ap/JPAMetaModelEntityProcessor.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -282,11 +282,11 @@
 			final Element superClassElement = ( ( DeclaredType ) superClass ).asElement();
 			String superClassName = ( ( TypeElement ) superClassElement ).getQualifiedName().toString();
 			if ( metaEntities.containsKey( superClassName ) ) {
-				pw.print( " extends " + superClassName + "_ "  );
+				pw.print( " extends " + superClassName + "_"  );
 			}
 		}
 
-		pw.println( "{" );
+		pw.println( " {" );
 	}
 
 	private InputStream getInputStreamForResource(String resource) {

Added: jpamodelgen/trunk/test/src/main/java/model/Address.java
===================================================================
--- jpamodelgen/trunk/test/src/main/java/model/Address.java	                        (rev 0)
+++ jpamodelgen/trunk/test/src/main/java/model/Address.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -0,0 +1,37 @@
+package model;
+
+import javax.persistence.Embeddable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Embeddable
+public class Address {
+	private String street1;
+	private String city;
+	private String country;
+
+	public String getStreet1() {
+		return street1;
+	}
+
+	public void setStreet1(String street1) {
+		this.street1 = street1;
+	}
+
+	public String getCity() {
+		return city;
+	}
+
+	public void setCity(String city) {
+		this.city = city;
+	}
+
+	public String getCountry() {
+		return country;
+	}
+
+	public void setCountry(String country) {
+		this.country = country;
+	}
+}

Added: jpamodelgen/trunk/test/src/main/java/model/Area.java
===================================================================
--- jpamodelgen/trunk/test/src/main/java/model/Area.java	                        (rev 0)
+++ jpamodelgen/trunk/test/src/main/java/model/Area.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -0,0 +1,37 @@
+package model;
+
+import javax.persistence.MappedSuperclass;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at MappedSuperclass
+public class Area {
+	private int length;
+	private int width;
+	private int height;
+
+	public int getLength() {
+		return length;
+	}
+
+	public void setLength(int length) {
+		this.length = length;
+	}
+
+	public int getWidth() {
+		return width;
+	}
+
+	public void setWidth(int width) {
+		this.width = width;
+	}
+
+	public int getHeight() {
+		return height;
+	}
+
+	public void setHeight(int height) {
+		this.height = height;
+	}
+}

Added: jpamodelgen/trunk/test/src/main/java/model/Building.java
===================================================================
--- jpamodelgen/trunk/test/src/main/java/model/Building.java	                        (rev 0)
+++ jpamodelgen/trunk/test/src/main/java/model/Building.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -0,0 +1,19 @@
+package model;
+
+import javax.persistence.MappedSuperclass;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at MappedSuperclass
+public class Building extends Area {
+	private Address address;
+
+	public Address getAddress() {
+		return address;
+	}
+
+	public void setAddress(Address address) {
+		this.address = address;
+	}
+}

Added: jpamodelgen/trunk/test/src/main/java/model/House.java
===================================================================
--- jpamodelgen/trunk/test/src/main/java/model/House.java	                        (rev 0)
+++ jpamodelgen/trunk/test/src/main/java/model/House.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -0,0 +1,21 @@
+package model;
+
+import javax.persistence.Id;
+import javax.persistence.Entity;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+public class House extends Building {
+	@Id
+	private Long id;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+}

Modified: jpamodelgen/trunk/test/src/test/java/InheritanceTest.java
===================================================================
--- jpamodelgen/trunk/test/src/test/java/InheritanceTest.java	2009-07-08 13:18:09 UTC (rev 17047)
+++ jpamodelgen/trunk/test/src/test/java/InheritanceTest.java	2009-07-08 13:43:40 UTC (rev 17048)
@@ -2,6 +2,9 @@
 import org.testng.Assert;
 import model.Customer_;
 import model.User_;
+import model.House_;
+import model.Building_;
+import model.Area_;
 
 /**
  * @author Emmanuel Bernard
@@ -13,4 +16,12 @@
 		Assert.assertEquals( Customer_.class.getSuperclass(), User_.class,
 				"Entity with super entity should inherit at the metamodel level");
 	}
+
+	@Test
+	public void testMappedSuperclass() throws Exception {
+		Assert.assertEquals( House_.class.getSuperclass(), Building_.class,
+				"Entity with mapped superclass should inherit at the metamodel level");
+		Assert.assertEquals( Building_.class.getSuperclass(), Area_.class,
+				"mapped superclass with mapped superclass should inherit at the metamodel level");
+	}
 }




More information about the hibernate-commits mailing list