JPA加入两个表|多对一

时间:2018-03-18 22:12:49

标签: java sql hibernate jpa

我面临以下问题:

我有两张桌子学生和班级。我想要一个功能,无论何时插入学生记录,学生表都会在等级上加入Class表。例如,如果学生成绩为A,则班级名称应为JUNIOR。

注意:类表是一个静态表,已经在sql中创建并插入了值。

学生表:

Name | Grade | 

班级表:

Grade | ClassName

A     | JUNIOR
b     | SENIOR

所以,在代码中如果我想要检索学生被分配到的类,我可以做一些像student.getClass()。getClassName()

使用JPA Hibernate如何实现这个?

我的想法:

我创建了两个实体,学生和班级。

@Entity
@Table(name="Student")
public class Student {


private Student() {

}


@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private String name;
private String grade;
@ManyToOne(optional = false)
@JoinColumn(name = "grade_type")
private Class class;

//Setter and getters

_______________

@Entity
@Table(name="Class")
public class Class {


private Class() {

}


@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
@Column(name = "grade_type")
private String grade;
private String className;

//Setter and getters

我试图在代码中检索学生记录插入后的类名值,如下所示:

String className = student.getClass()。getClassName()

但这不起作用!

0 个答案:

没有答案