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)并将其保存到数据库中。
我有一个问题,我不知道如何在 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)并将其保存到数据库中。