[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