hibernate 注解方式配置OneToMany(一对多)连接查询(非外键)

时间:2022-11-02 16:04:11

场景描述
- 2张表,班级表class_a,对应实体ClassBean,字段:id, name, location .
- 学生表student, 对应实体Student,字段:id, className, name, age.
- 学生表通过className和班级表的name关联。

实体类代码如下

public class ClassBean{

@OneToMany(targetEntity=Student.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name="className",referencedColumnName="name")
public java.util.Set<Student> getStudents() {
return students;
}
}

public class Student() {
}

说明:
@JoinColumn注解中,name指的是连接表中的字段名,referencedColumnName指向本表字段名。
若不指定referencedColumnName,默认是与本表主键关联。