//$Id$
package org.hibernate.test.annotations.manytomany;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
/**
* Friend has other friends in a many to many way
*
* @author Emmanuel Bernard
*/
@Entity()
public class Friend implements Serializable {
private Integer id;
private String name;
private Set<Friend> friends;
@Id
@GeneratedValue
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public void setId(Integer integer) {
id = integer;
}
public void setName(String string) {
name = string;
}
@ManyToMany(
cascade = {CascadeType.PERSIST, CascadeType.MERGE}
)
@JoinTable(
name = "FRIEND2FRIEND",
joinColumns = {@JoinColumn(name = "FROM_FR", nullable = false)},
inverseJoinColumns = {@JoinColumn(name = "TO_FR", nullable = false)}
)
public Set<Friend> getFriends() {
return friends;
}
public void setFriends(Set<Friend> friend) {
this.friends = friend;
}
}