From: <hib...@li...> - 2006-04-30 16:44:30
|
Author: epbernard Date: 2006-04-30 12:44:28 -0400 (Sun, 30 Apr 2006) New Revision: 9836 Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Customer.java trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Deal.java Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/Company.java trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java Log: ANN-307 exclude noop and embedded property accessor when finding the appropriate property per columns Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/Company.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/Company.java 2006-04-30 16:34:04 UTC (rev 9835) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/Company.java 2006-04-30 16:44:28 UTC (rev 9836) @@ -2,6 +2,8 @@ package org.hibernate.test.annotations; import java.io.Serializable; +import java.util.Date; +import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -37,4 +39,8 @@ name = string; } + //should be treated as getter + private int[] getWorkingHoursPerWeek(Set<Date> holidayDays) { + return null; + } } Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Customer.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Customer.java 2006-04-30 16:34:04 UTC (rev 9835) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Customer.java 2006-04-30 16:44:28 UTC (rev 9836) @@ -0,0 +1,16 @@ +//$Id: $ +package org.hibernate.test.annotations.manytoone; + +import java.io.Serializable; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +/** + * @author Emmanuel Bernard + */ +@Entity(name="DealedCustomer") +public class Customer implements Serializable { + @Id @GeneratedValue public Integer id; + public String userId; +} Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Deal.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Deal.java 2006-04-30 16:34:04 UTC (rev 9835) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/Deal.java 2006-04-30 16:44:28 UTC (rev 9836) @@ -0,0 +1,19 @@ +//$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 Deal { + @Id @GeneratedValue public Integer id; + @ManyToOne @JoinColumn(referencedColumnName = "userId") public Customer from; + @ManyToOne @JoinColumn(referencedColumnName = "userId") public Customer to; + +} 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-30 16:34:04 UTC (rev 9835) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java 2006-04-30 16:44:28 UTC (rev 9836) @@ -261,11 +261,36 @@ s.close(); } + public void testTwoManyToOneNonPk() throws Exception { + //2 many to one non pk pointing to the same referencedColumnName should not fail + Session s = openSession(); + Transaction tx = s.beginTransaction(); + org.hibernate.test.annotations.manytoone.Customer customer = new org.hibernate.test.annotations.manytoone.Customer(); + customer.userId="123"; + org.hibernate.test.annotations.manytoone.Customer customer2 = new org.hibernate.test.annotations.manytoone.Customer(); + customer2.userId="124"; + s.persist( customer2 ); + s.persist( customer ); + Deal deal = new Deal(); + deal.from = customer; + deal.to = customer2; + s.persist( deal ); + s.flush(); + s.clear(); + deal = (Deal) s.get( Deal.class, deal.id ); + assertNotNull( deal.from ); + assertNotNull( deal.to ); + tx.rollback(); + s.close(); + } + /** * @see org.hibernate.test.annotations.TestCase#getMappings() */ protected java.lang.Class[] getMappings() { return new java.lang.Class[]{ + Deal.class, + org.hibernate.test.annotations.manytoone.Customer.class, Car.class, Color.class, Flight.class, |