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

问题描述 投票:1回答:1

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

我想和新生一起找到现有的老师,我想找到所有有特殊老师的学生。我想在学生表中为老师创建类似外键的东西。

我的代码:

BaseEntity

@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;
...
}

TeacherController

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

StudentController

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

当我创建一名教师时,我的JSon身体:

{
    "name" : "Test"
}

学生发帖方法应该是这样吗?

{
        "name": "TestStudent",
        "teacher": {
            "id": 1,
            "description": "Test"
        }
}
java spring hibernate rest many-to-one
1个回答
0
投票

@kubek,如果这是您的网络应用程序,并且您是从UI(视图)端进行此操作,那么您可以放入教师列表的组合框,然后选择该教师,您可以将ID传递到下面的表单中:{“name “:”TestStudent“,”老师“:{”id“:1}}

这将自动找到Teacher对象(id)并将其保存到db。

© www.soinside.com 2019 - 2024. All rights reserved.