//$Id: Parent.java,v 1.2 2004/12/05 21:30:17 epbernard Exp $ package org.hibernate.test.metadata.manytoone; import javax.ejb.Entity; import javax.ejb.AccessType; import javax.ejb.Id; import java.io.Serializable; /** * @author Emmanuel Bernard */ @Entity(access = AccessType.FIELD) public class Parent implements Serializable { @Id public ParentPk id; public int age; public int hashCode() { //a NPE can occurs, but I don't expect hashcode to be used before pk is set return id.hashCode(); } public boolean equals(Object obj) { //a NPE can occurs, but I don't expect equals to be used before pk is set if (obj != null && obj instanceof Parent) { return id.equals( ( (Parent) obj).id ); } else { return false; } } }