|
From: <hib...@li...> - 2006-06-26 22:23:38
|
Author: epbernard
Date: 2006-06-26 18:23:32 -0400 (Mon, 26 Jun 2006)
New Revision: 10051
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/Car.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/MovingThing.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/PolymorphismTest.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/SportCar.java
Log:
tests on polymorphism
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/Car.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/Car.java 2006-06-25 16:27:43 UTC (rev 10050)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/Car.java 2006-06-26 22:23:32 UTC (rev 10051)
@@ -0,0 +1,39 @@
+//$Id: $
+package org.hibernate.test.annotations.polymorphism;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+
+import org.hibernate.annotations.PolymorphismType;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Inheritance(strategy= InheritanceType.TABLE_PER_CLASS)
+@org.hibernate.annotations.Entity(polymorphism = PolymorphismType.EXPLICIT)
+public class Car extends MovingThing {
+ private Integer id;
+ private String model;
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ @Id @GeneratedValue(strategy = GenerationType.TABLE )
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/MovingThing.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/MovingThing.java 2006-06-25 16:27:43 UTC (rev 10050)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/MovingThing.java 2006-06-26 22:23:32 UTC (rev 10051)
@@ -0,0 +1,8 @@
+//$Id: $
+package org.hibernate.test.annotations.polymorphism;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class MovingThing {
+}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/PolymorphismTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/PolymorphismTest.java 2006-06-25 16:27:43 UTC (rev 10050)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/PolymorphismTest.java 2006-06-26 22:23:32 UTC (rev 10051)
@@ -0,0 +1,37 @@
+//$Id: $
+package org.hibernate.test.annotations.polymorphism;
+
+import org.hibernate.test.annotations.TestCase;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class PolymorphismTest extends TestCase {
+
+ public void testPolymorphism() throws Exception {
+ Car car = new Car();
+ car.setModel( "SUV" );
+ SportCar car2 = new SportCar();
+ car2.setModel( "350Z" );
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ tx.begin();
+ s.persist( car );
+ s.persist( car2 );
+ s.flush();
+ assertEquals( 2, s.createQuery( "select car from Car car").list().size() );
+ assertEquals( 0, s.createQuery( "select count(m) from " + MovingThing.class.getName() + " m").list().size() );
+ tx.rollback();
+ s.close();
+
+ }
+
+ protected Class[] getMappings() {
+ return new Class[] {
+ Car.class,
+ SportCar.class
+ };
+ }
+}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/SportCar.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/SportCar.java 2006-06-25 16:27:43 UTC (rev 10050)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/polymorphism/SportCar.java 2006-06-26 22:23:32 UTC (rev 10051)
@@ -0,0 +1,13 @@
+//$Id: $
+package org.hibernate.test.annotations.polymorphism;
+
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Table(name = "sport_car")
+public class SportCar extends Car {
+}
|