|
From: <hib...@li...> - 2006-05-23 21:53:42
|
Author: epbernard
Date: 2006-05-23 17:53:37 -0400 (Tue, 23 May 2006)
New Revision: 9942
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/Owner.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OwnerAddress.java
Modified:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OneToOneTest.java
Log:
test on foreign and one to one
Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OneToOneTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OneToOneTest.java 2006-05-22 18:28:53 UTC (rev 9941)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OneToOneTest.java 2006-05-23 21:53:37 UTC (rev 9942)
@@ -223,6 +223,24 @@
s.close();
}
+ public void testForeignGenerator() {
+ Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ Owner owner = new Owner();
+ OwnerAddress address = new OwnerAddress();
+ owner.setAddress( address );
+ address.setOwner( owner );
+ s.persist( owner );
+ s.flush();
+ s.clear();
+ owner = (Owner) s.get( Owner.class, owner.getId() );
+ assertNotNull( owner );
+ assertNotNull( owner.getAddress() );
+ assertEquals( owner.getId(), owner.getAddress().getId() );
+ tx.rollback();
+ s.close();
+ }
+
/**
* @see org.hibernate.test.annotations.TestCase#getMappings()
*/
@@ -241,7 +259,9 @@
Computer.class,
SerialNumber.class,
Body.class,
- Heart.class
+ Heart.class,
+ Owner.class,
+ OwnerAddress.class
};
}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/Owner.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/Owner.java 2006-05-22 18:28:53 UTC (rev 9941)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/Owner.java 2006-05-23 21:53:37 UTC (rev 9942)
@@ -0,0 +1,35 @@
+//$Id: $
+package org.hibernate.test.annotations.onetoone;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+import javax.persistence.OneToOne;
+import javax.persistence.PrimaryKeyJoinColumn;
+import javax.persistence.CascadeType;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class Owner {
+ @Id @GeneratedValue private Integer id;
+
+ @OneToOne(cascade = CascadeType.ALL) @PrimaryKeyJoinColumn private OwnerAddress address;
+
+ public OwnerAddress getAddress() {
+ return address;
+ }
+
+ public void setAddress(OwnerAddress address) {
+ this.address = address;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+}
Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OwnerAddress.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OwnerAddress.java 2006-05-22 18:28:53 UTC (rev 9941)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/onetoone/OwnerAddress.java 2006-05-23 21:53:37 UTC (rev 9942)
@@ -0,0 +1,39 @@
+//$Id: $
+package org.hibernate.test.annotations.onetoone;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+import javax.persistence.OneToOne;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.Parameter;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+public class OwnerAddress {
+ @Id @GeneratedValue(generator = "fk")
+ @GenericGenerator(strategy = "foreign", name = "fk", parameters = @Parameter(name="property", value="owner"))
+ private Integer id;
+
+ @OneToOne(mappedBy="address", optional = false)
+ private Owner owner;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Owner getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Owner owner) {
+ this.owner = owner;
+ }
+}
|