Hibernate one-to-many many-to-one 双向关联,设置多的一方维护关联关系,在指定one-to-many 的同时指定mappedBy
例如:
public class ClassRoom(){
private string roomName;
@one-to-many(mappedBy="classRoomId")
private Set<Student> students = new HashSet<Student>();
}
public class Student(){
private string studentName;
@many-to-one
@JoinColumn(name="classRoomId")
private Set<Student> students = new HashSet<Student>();
}
设置一的一方维护关联关系,则必须取掉mappedBy,同时在多的一方设置 @JoinColumn 的insertable和updatable设置为false,若不想产生中间表,则必须在一得一方指定@JoinColumn(指定多的一方的外键):
public class ClassRoom(){
private string roomName;
@one-to-many
@JoinColumn(name="classRoomId")
private Set<Student> students = new HashSet<Student>();
}
public class Student(){
private string studentName;
@many-to-one
@JoinColumn(name="classRoomId", insertable=false,updatable = false)//注意是updatable
private Set<Student> students = new HashSet<Student>();
}