[hibernate-commits] Hibernate SVN: r18591 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jan 20 13:42:50 EST 2010


Author: epbernard
Date: 2010-01-20 13:42:49 -0500 (Wed, 20 Jan 2010)
New Revision: 18591

Added:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/ExclusiveDependent.java
Modified:
   core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java
Log:
HHH-4529 add test for one to one and embedded id

Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java	2010-01-20 18:36:34 UTC (rev 18590)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/DerivedIdentitySimpleParentEmbeddedIdDepTest.java	2010-01-20 18:42:49 UTC (rev 18591)
@@ -9,7 +9,7 @@
  */
 public class DerivedIdentitySimpleParentEmbeddedIdDepTest extends TestCase {
 
-	public void testIt() throws Exception {
+	public void testManyToOne() throws Exception {
 		assertTrue( SchemaUtil.isColumnPresent( "Dependent", "FK", getCfg() ) );
 		assertTrue( ! SchemaUtil.isColumnPresent( "Dependent", "empPK", getCfg() ) );
 		Employee e = new Employee();
@@ -32,11 +32,35 @@
 		s.close();
 	}
 
+	public void testOneToOne() throws Exception {
+		assertTrue( SchemaUtil.isColumnPresent( "ExclusiveDependent", "FK", getCfg() ) );
+		assertTrue( ! SchemaUtil.isColumnPresent( "ExclusiveDependent", "empPK", getCfg() ) );
+		Employee e = new Employee();
+		e.empId = 1;
+		e.empName = "Emmanuel";
+		Session s = openSession(  );
+		s.getTransaction().begin();
+		s.persist( e );
+		ExclusiveDependent d = new ExclusiveDependent();
+		d.emp = e;
+		d.id = new DependentId();
+		d.id.name = "Doggy";
+		d.id.empPK = e.empId; //FIXME not needed when foreign is enabled
+		s.persist( d );
+		s.flush();
+		s.clear();
+		d = (ExclusiveDependent) s.get( ExclusiveDependent.class, d.id );
+		assertEquals( d.id.empPK, d.emp.empId );
+		s.getTransaction().rollback();
+		s.close();
+	}
+
 	@Override
 	protected Class<?>[] getMappings() {
 		return new Class<?>[] {
 				Dependent.class,
-				Employee.class
+				Employee.class,
+				ExclusiveDependent.class
 		};
 	}
 }

Added: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/ExclusiveDependent.java
===================================================================
--- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/ExclusiveDependent.java	                        (rev 0)
+++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/derivedidentities/e1/b/ExclusiveDependent.java	2010-01-20 18:42:49 UTC (rev 18591)
@@ -0,0 +1,23 @@
+package org.hibernate.test.annotations.derivedidentities.e1.b;
+
+import javax.persistence.EmbeddedId;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.MapsId;
+import javax.persistence.OneToOne;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+public class ExclusiveDependent {
+	@EmbeddedId
+	DependentId id;
+
+	@JoinColumn(name = "FK")
+	// id attribute mapped by join column default
+	@MapsId("empPK")
+	// maps empPK attribute of embedded id
+	@OneToOne
+	Employee emp;
+}



More information about the hibernate-commits mailing list