[hibernate-commits] Hibernate SVN: r12909 - trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Aug 9 11:01:14 EDT 2007


Author: epbernard
Date: 2007-08-09 11:01:14 -0400 (Thu, 09 Aug 2007)
New Revision: 12909

Added:
   trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/A.java
   trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/B.java
   trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/C.java
Modified:
   trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/JoinTest.java
Log:
More tests

Added: trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/A.java
===================================================================
--- trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/A.java	                        (rev 0)
+++ trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/A.java	2007-08-09 15:01:14 UTC (rev 12909)
@@ -0,0 +1,24 @@
+//$Id$
+package org.hibernate.test.annotations.join;
+
+import java.util.Date;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Column;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at MappedSuperclass
+public abstract class A {
+	@Column(nullable = false)
+	private Date createDate;
+
+
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+}

Added: trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/B.java
===================================================================
--- trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/B.java	                        (rev 0)
+++ trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/B.java	2007-08-09 15:01:14 UTC (rev 12909)
@@ -0,0 +1,38 @@
+//$Id$
+package org.hibernate.test.annotations.join;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+ at Inheritance( strategy = InheritanceType.SINGLE_TABLE )
+public abstract class B extends A {
+	@Id
+	@GeneratedValue
+	private Integer id;
+	@Column(nullable = false) private String name;
+
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

Added: trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/C.java
===================================================================
--- trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/C.java	                        (rev 0)
+++ trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/C.java	2007-08-09 15:01:14 UTC (rev 12909)
@@ -0,0 +1,26 @@
+//$Id$
+package org.hibernate.test.annotations.join;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.SecondaryTable;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+ at DiscriminatorValue("C")
+ at SecondaryTable(name="C")
+public class C extends B {
+	@Column(table = "C") private int age;
+
+
+	public int getAge() {
+		return age;
+	}
+
+	public void setAge(int age) {
+		this.age = age;
+	}
+}

Modified: trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/JoinTest.java
===================================================================
--- trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/JoinTest.java	2007-08-09 03:17:05 UTC (rev 12908)
+++ trunk/HibernateExt/annotations/src/test/org/hibernate/test/annotations/join/JoinTest.java	2007-08-09 15:01:14 UTC (rev 12909)
@@ -175,16 +175,35 @@
 		s.close();
 	}
 
+	public void testMappedSuperclassAndSecondaryTable() throws Exception {
+		Session s = openSession( );
+		s.getTransaction().begin();
+		C c = new C();
+		c.setAge( 12 );
+		c.setCreateDate( new Date() );
+		c.setName( "Bob" );
+		s.persist( c );
+		s.flush();
+		s.clear();
+		c= (C) s.get( C.class, c.getId() );
+		assertNotNull( c.getCreateDate() );
+		assertNotNull( c.getName() );
+		s.getTransaction().rollback();
+		s.close();
+	}
+
 	/**
 	 * @see org.hibernate.test.annotations.TestCase#getMappings()
 	 */
 	protected Class[] getMappings() {
 		return new Class[]{
-				Life.class,
-				Death.class,
-				Cat.class,
-				Dog.class
+				//Life.class,
+				//Death.class,
+				//Cat.class,
+				//Dog.class,
+				A.class,
+				B.class,
+				C.class
 		};
 	}
-
 }




More information about the hibernate-commits mailing list