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
+ */
+@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;
+}
Show replies by date