Метод Spring Post с реляционной базой данных (RestApi) - PullRequest
1 голос
/ 25 апреля 2019

У меня проблема, я не знаю, как создать реляционную базу данных в 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"
        }
}

1 Ответ

0 голосов
/ 25 апреля 2019

@ kubek, Если это ваше веб-приложение, и вы делаете это со стороны пользовательского интерфейса (представления), тогда вы можете поместить поле со списком учителя и затем, выбрав этого учителя, этот идентификатор вы можете передать в форму, как показано ниже:{"name": "TestStudent", "teacher": {"id": 1}}

это автоматически найдет объект Учителя (id) и сохранит его в дБ.

...