From: <hib...@li...> - 2006-03-11 20:42:59
|
Author: epbernard Date: 2006-03-11 15:42:40 -0500 (Sat, 11 Mar 2006) New Revision: 9605 Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/DistrictUser.java trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/User.java trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/UserPK.java Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java Log: ANN-257 tests Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/DistrictUser.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/DistrictUser.java 2006-03-11 20:27:05 UTC (rev 9604) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/DistrictUser.java 2006-03-11 20:42:40 UTC (rev 9605) @@ -0,0 +1,47 @@ +package org.hibernate.test.annotations.manytoone; + +import java.util.Date; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinColumns; +import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; + +@Entity +@Table(name = "CLRUS2DI") +@SequenceGenerator(name = "DistrictUserSeq", sequenceName = "SQ_DISTRICT_USER") +public class DistrictUser { + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "DistrictUserSeq") + @Column(name = "CLRUS2DI_KEY") + private Long id; + + @Column(name = "CLRUS2DI_CREATE_USERS_KEY") + private Long createdBy; + + @Column(name = "CLRUS2DI_CREATE_DATE") + private Date createdOn; + + //@ManyToOne(cascade = CascadeType.ALL) + //@JoinColumn(name = "CLRUS2DI_DISTR_KEY") + //private District district; + + @ManyToOne(cascade = CascadeType.ALL) + @JoinColumns( { @JoinColumn(name = "CLRUS2DI_USERS_KEY", referencedColumnName="CTVUSERS_KEY"), + @JoinColumn(name = "CLRUS2DI_BEGIN_DATE", referencedColumnName="CTVUSERS_START_DATE"), + @JoinColumn(name = "CLRUS2DI_END_DATE", referencedColumnName="CTVUSERS_END_DATE") }) + private User user; + + @Column(name = "CLRUS2DI_LDTMD_KEY") + private Long ldtmd; + + @Column(name = "CLRUS2DI_PMTMP_KEY") + private Long pmtmp; +} 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-03-11 20:27:05 UTC (rev 9604) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/ManyToOneTest.java 2006-03-11 20:42:40 UTC (rev 9605) @@ -237,22 +237,28 @@ s.close(); } + public void testManyToOneAndIdClass() throws Exception { + + } + /** * @see org.hibernate.test.annotations.TestCase#getMappings() */ - protected Class[] getMappings() { - return new Class[] { - Car.class, - Color.class, - Flight.class, - Company.class, - Customer.class, - Discount.class, - Ticket.class, - Passport.class, - Parent.class, - Child.class, - Node.class + protected java.lang.Class[] getMappings() { + return new java.lang.Class[] { + Car.class, + Color.class, + Flight.class, + Company.class, + Customer.class, + Discount.class, + Ticket.class, + Passport.class, + Parent.class, + Child.class, + Node.class, + User.class, + DistrictUser.class }; } Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/User.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/User.java 2006-03-11 20:27:05 UTC (rev 9604) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/User.java 2006-03-11 20:42:40 UTC (rev 9605) @@ -0,0 +1,113 @@ +package org.hibernate.test.annotations.manytoone; + +import java.util.Date; +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.Id; +import javax.persistence.IdClass; +import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; + +@Entity +@Table(name = "CTVUSERS") +@IdClass(UserPK.class) +@SequenceGenerator(name = "UserSeq", sequenceName = "SQ_USER") +public class User { + @Id + @Column(name = "CTVUSERS_KEY") + private Long userKey; + + @Id + @Column(name = "CTVUSERS_START_DATE") + private Date startDate; + + @Id + @Column(name = "CTVUSERS_END_DATE") + private Date endDate; + + @Column(name = "CTVUSERS_CREATE_USERS_KEY") + private Long createdBy; + + @Column(name = "CTVUSERS_CREATE_DATE") + private Date createdOn; + + @Column(name = "CTVUSERS_ID") + private String userId; + + @Column(name = "CTVUSERS_PREFX_KEY") + private Integer prefix; + + @Column(name = "CTVUSERS_FIRST_NAME") + private String firstName; + + @Column(name = "CTVUSERS_LAST_NAME1") + private String lastName1; + + @Column(name = "CTVUSERS_LAST_NAME2") + private String lastName2; + + @Column(name = "CTVUSERS_MIDDLE_NAME1") + private String middleName1; + + @Column(name = "CTVUSERS_MIDDLE_NAME2") + private String middleName2; + + @Column(name = "CTVUSERS_SUFFX_KEY") + private Integer suffix; + + @Column(name = "CTVUSERS_BIRTH_DATE") + private Date birthDate; + + @Column(name = "CTVUSERS_BIRTH_STATE_KEY") + private Integer birthState; + + @Column(name = "CTVUSERS_BIRTH_CNTRY_KEY") + private Integer birthCountry; + + @Column(name = "CTVUSERS_USERNAME") + private String username; + + @Column(name = "CTVUSERS_PASSWORD") + private String password; + + @Column(name = "CTVUSERS_LOTYP_KEY") + private Integer userType; + + @Column(name = "CTVUSERS_PRIVL_KEY") + private Integer privilege; + + @Column(name = "CTVUSERS_STATE_KEY") + private Integer state; + + @Column(name = "CTVUSERS_CNTRY_KEY") + private Integer country; + + @Column(name = "CTVUSERS_PREFERRED_NAME") + private String preferredName; + + @Column(name = "CTVUSERS_BIRTH_PLACE") + private String birthPlace; + + @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "user") + private Set<DistrictUser> districtUsers; + + @Column(name = "CTVUSERS_SCHOL_KEY") + private Long school; + + @Column(name = "CTVUSERS_CLSTR_KEY") + private Long cluster; + + @Column(name = "CTVUSERS_LDTMM_KEY") + private Long ldtmm; + + @Column(name = "CTVUSERS_LDTMD_KEY") + private Long ldtmd; + + @Column(name = "CTVUSERS_PMTMP_KEY") + private Long pmtmp; + +} Added: trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/UserPK.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/UserPK.java 2006-03-11 20:27:05 UTC (rev 9604) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/manytoone/UserPK.java 2006-03-11 20:42:40 UTC (rev 9605) @@ -0,0 +1,37 @@ +package org.hibernate.test.annotations.manytoone; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.persistence.Column; + +public class UserPK implements Serializable { + private static final long serialVersionUID = -7720874756224520523L; + @Column(name = "CTVUSERS_KEY") + public Long userKey; + + @Column(name = "CTVUSERS_START_DATE") + public Date startDate; + + + @Column(name = "CTVUSERS_END_DATE") + public Date endDate; + + public UserPK() { + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof UserPK)) + return false; + UserPK userPK = (UserPK) obj; + SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); + return userKey.equals(userPK.userKey) && formatter.format(startDate).equals(formatter.format(userPK.startDate)) + && formatter.format(endDate).equals(formatter.format(userPK.endDate)); + } + + @Override + public int hashCode() { + return userKey.hashCode() * startDate.hashCode() * endDate.hashCode(); + } +} |