[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