group里面存在一个set< User >,这是要做一个一对多的单向关联
Group类
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="t_group")
public class Group {
private int id;
private String name;
private Set<User> set = new HashSet<User>();
@OneToMany
@JoinColumn(name="groupId")
public Set<User> getSet() {
return set;
}
public void setSet(Set<User> set) {
this.set = set;
}
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
User类
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="t_user")
public class User {
private int id;
private String name;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@OneToMany
使用这个注解,hibernate会默认按照多对多进行处理,这时候,会生成一张中间表,这时候我们需要使用另一个注解@JoinColumn(name=”groupId”)
添加这个注解,就可以在User那一张表里生成一个外键groupid