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();
}
}