//$Id$
package org.hibernate.test.annotations.manytomany;
import java.util.Set;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
/**
* @author Emmanuel Bernard
*/
@Entity
@Table(name = "tbl_cat")
//ANN-630
//@org.hibernate.annotations.Table(appliesTo= "TT", indexes = @Index(name = "testidx", columnNames = "cat_id"))
public class Cat {
private CatPk id;
private int age;
private Set<Woman> humanContacts;
@ManyToMany
//@Index(name = "CAT_HUMAN_IDX")
@JoinTable(name="TT")
public Set<Woman> getHumanContacts() {
return humanContacts;
}
public void setHumanContacts(Set<Woman> humanContacts) {
this.humanContacts = humanContacts;
}
@EmbeddedId()
public CatPk getId() {
return id;
}
public void setId(CatPk id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean equals(Object o) {
if ( this == o ) return true;
if ( !( o instanceof Cat ) ) return false;
final Cat cat = (Cat) o;
if ( !id.equals( cat.id ) ) return false;
return true;
}
public int hashCode() {
return id.hashCode();
}
}