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; + } +} |