Spring Post 关系数据库方法(Rest Api)

Spring Post method with relational database (RestApi)

我有一个问题,我不知道如何在 Hibernate 中创建关系数据库以及如何创建 json i post 方法。

我想通过现有老师与新学生打交道,我想找到所有有特定老师的学生。我想在学生 table.

中为教师创建外键之类的东西

我的代码:

基础实体

@MappedSuperclass
@Data
public class BaseEntity {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

}

学生

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

    @Column(name = "name")
    private String name;

    @ManyToOne
    private Teacher teacher;
...
}

老师

@Entity
@Table(name = "teacher")
public class Teacher extends BaseEntity{

    @Column(name = "name")
    private String name;
...
}

教师控制器

 @RequestMapping(value = "/add", method = RequestMethod.POST)
    public void addTeacher(@RequestBody Teacher teacher) {
        teacherService.addTeacher(teacher);
    }

学生控制器

 @RequestMapping(value = "/add", method = RequestMethod.POST)
    public void addStudent(@RequestBody Student student) {
        studentService.addStudent(student);
    }

我的JSonbody当我创建老师时:

{
    "name" : "Test"
}

学生 post 方法应该像这样吗?

{
        "name": "TestStudent",
        "teacher": {
            "id": 1,
            "description": "Test"
        }
}

@kubek,如果这是您的 Web 应用程序,并且您是从 UI(视图)端执行此操作,那么您可以放置​​教师列表的组合框,然后在选择您可以传递的教师 ID 后进入如下形式: { "name": "TestStudent", "teacher":{ "id": 1 } }

这将自动找到教师对象(id)并将其保存到数据库中。