在Spring Boot中定义班级(Class
)和学生(Student
)的实体类,并建立班级的主键和学生的外键关联,可以按照以下方式进行定义。
- Class(班级)实体类:
import javax.persistence.*;
import java.util.List;
@Entity
public class Class {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String className;
@OneToMany(mappedBy = "class")
private List<Student> students;
// 构造函数、Getter和Setter方法省略
}
在Class
实体类中,主键id
使用@Id
注解进行标识,并且使用@GeneratedValue
注解指定主键的生成策略(例如自增)。班级名称className
作为一个普通的属性。
- Student(学生)实体类:
import javax.persistence.*;
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String studentName;
@ManyToOne
@JoinColumn(name = "class_id")
private Class class;
// 构造函数、Getter和Setter方法省略
}
在Student
实体类中,主键id
同样使用@Id
注解进行标识,并且使用@GeneratedValue
注解指定主键的生成策略。学生名称studentName
作为一个普通的属性。
关联方面,使用@ManyToOne
注解表示多个学生属于一个班级。@JoinColumn
注解用于指定外键的列名,在本例中为class_id
。这里的class
属性是Class
实体类的对象,用于表示学生所属的班级。
通过以上定义,班级和学生之间建立了单向的一对多的关联关系,其中班级是主体,学生是依赖方,班级为主键,学生为外键