//$Id$ package org.hibernate.test.annotations.manytomany; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Embeddable; /** * @author Emmanuel Bernard */ @Embeddable public class ManPk implements Serializable { private String firstName; private String lastName; private boolean isElder; public boolean isElder() { return isElder; } public void setElder(boolean elder) { isElder = elder; } public int hashCode() { //this implem sucks return getFirstName().hashCode() + getLastName().hashCode() + ( isElder() ? 0 : 1 ); } public boolean equals(Object obj) { //firstName and lastName are expected to be set in this implem if ( obj != null && obj instanceof ManPk ) { ManPk other = (ManPk) obj; return getFirstName().equals( other.getFirstName() ) && getLastName().equals( other.getLastName() ) && isElder() == other.isElder(); } else { return false; } } public void setFirstName(String firstName) { this.firstName = firstName; } public void setLastName(String lastName) { this.lastName = lastName; } @Column(length=128) public String getFirstName() { return firstName; } @Column(length=128) public String getLastName() { return lastName; } }