我有一个问题,我不知道如何在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"
}
}
@kubek,如果这是您的网络应用程序,并且您是从UI(视图)端进行此操作,那么您可以放入教师列表的组合框,然后选择该教师,您可以将ID传递到下面的表单中:{“name “:”TestStudent“,”老师“:{”id“:1}}
这将自动找到Teacher对象(id)并将其保存到db。