//$Id$ package org.hibernate.test.annotations.cid; import java.io.Serializable; import javax.persistence.Embeddable; import javax.persistence.JoinColumn; import javax.persistence.JoinColumns; import javax.persistence.ManyToOne; /** * Child Pk with many to one inside * * @author Emmanuel Bernard */ @Embeddable public class ChildPk implements Serializable { public int nthChild; @ManyToOne() @JoinColumns({ @JoinColumn(name = "parentLastName", referencedColumnName = "p_lname", nullable = false), @JoinColumn(name = "parentFirstName", referencedColumnName = "firstName", nullable = false) }) public Parent parent; public boolean equals(Object o) { if ( this == o ) return true; if ( !( o instanceof ChildPk ) ) return false; final ChildPk childPk = (ChildPk) o; if ( nthChild != childPk.nthChild ) return false; if ( !parent.equals( childPk.parent ) ) return false; return true; } public int hashCode() { int result; result = nthChild; result = 29 * result + parent.hashCode(); return result; } }