//$Id$
package org.hibernate.test.annotations.embedded;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* A regional article is typically a bad design, it keep the country iso2 and a business key as
* (composite) primary key
*
* @author Emmanuel Bernard
*/
@Entity
public class RegionalArticle implements Serializable {
private RegionalArticlePk pk;
private String name;
@Id
public RegionalArticlePk getPk() {
return pk;
}
public void setPk(RegionalArticlePk pk) {
this.pk = pk;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int hashCode() {
//a NPE can occurs, but I don't expect hashcode to be used before pk is set
return getPk().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 RegionalArticle ) {
return getPk().equals( ( (RegionalArticle) obj ).getPk() );
}
else {
return false;
}
}
}