Hibernate one-to-many many-to-one 双向关联

来源:互联网 发布:手机dlna软件 编辑:程序博客网 时间:2024/05/17 21:40

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>();

}