From: <hib...@li...> - 2006-04-28 01:00:24
|
Author: epbernard Date: 2006-04-27 21:00:21 -0400 (Thu, 27 Apr 2006) New Revision: 9826 Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Order.java trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/OrderLine.java Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java Log: ANN-97 tests to reflect the issue solved in core Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java 2006-04-28 00:55:24 UTC (rev 9825) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java 2006-04-28 01:00:21 UTC (rev 9826) @@ -241,6 +241,26 @@ } + public void testManyToOneNonPk() throws Exception { + Session s = openSession(); + Transaction tx = s.beginTransaction(); + Order order = new Order(); + order.setOrderNbr( "123" ); + s.persist( order ); + OrderLine ol = new OrderLine(); + ol.setItem( "Mouse" ); + ol.setOrder( order ); + s.persist( ol ); + s.flush(); + s.clear(); + ol = (OrderLine) s.get( OrderLine.class, ol.getId() ); + assertNotNull( ol.getOrder() ); + assertEquals( "123", ol.getOrder().getOrderNbr() ); + assertTrue( ol.getOrder().getOrderLines().contains( ol ) ); + tx.rollback(); + s.close(); + } + /** * @see org.hibernate.test.annotations.TestCase#getMappings() */ @@ -258,7 +278,9 @@ Child.class, Node.class, User.class, - DistrictUser.class + DistrictUser.class, + Order.class, + OrderLine.class }; } Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Order.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Order.java 2006-04-28 00:55:24 UTC (rev 9825) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Order.java 2006-04-28 01:00:21 UTC (rev 9826) @@ -0,0 +1,50 @@ +//$Id: $ +package org.hibernate.test.annotations.manytoone; + +import java.io.Serializable; +import java.util.Set; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Column; +import javax.persistence.Table; +import javax.persistence.OneToMany; + +/** + * @author Emmanuel Bernard + */ +@Entity +@Table(name="ORDERS") +public class Order implements Serializable { + private Integer id; + private String orderNbr; + private Set<OrderLine> orderLines; + + @Id + @GeneratedValue + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + @Column(name="order_nbr", unique = true) + public String getOrderNbr() { + return orderNbr; + } + + public void setOrderNbr(String orderNbr) { + this.orderNbr = orderNbr; + } + + @OneToMany(mappedBy = "order") + public Set<OrderLine> getOrderLines() { + return orderLines; + } + + public void setOrderLines(Set<OrderLine> orderLines) { + this.orderLines = orderLines; + } +} Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/OrderLine.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/OrderLine.java 2006-04-28 00:55:24 UTC (rev 9825) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/OrderLine.java 2006-04-28 01:00:21 UTC (rev 9826) @@ -0,0 +1,45 @@ +//$Id: $ +package org.hibernate.test.annotations.manytoone; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.GeneratedValue; +import javax.persistence.ManyToOne; +import javax.persistence.JoinColumn; + +/** + * @author Emmanuel Bernard + */ +@Entity +public class OrderLine { + private Integer id; + private String item; + private Order order; + + @Id @GeneratedValue + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getItem() { + return item; + } + + public void setItem(String item) { + this.item = item; + } + + @ManyToOne + @JoinColumn(name="order_nbr", referencedColumnName = "order_nbr", unique = true) + public Order getOrder() { + return order; + } + + public void setOrder(Order order) { + this.order = order; + } +} |