У меня есть две таблицы сущностей, называемые назначением и обслуживанием.Одно назначение может быть много услуг.Услуги уже хранятся в базе данных.Мы можем заново добавить встречу.При добавлении новой встречи мы выбрали добавленные услуги из выпадающего меню.Можно добавить много услуг с одной записью.Мне нужно сохранить новую запись в таблице встреч и сохранить соответствующие идентификаторы встреч и сервисов в другой таблице соединений.Вот прикрепленное изображение с моей проблемой.
Уже я пробовал много способов сделать это.Ниже приведена одна попытка.
Вот класс назначения
@Entity
@Table(name="appointment")
public class Appointment extends AbstractPersistable<Long> implements Serializable {
@OneToMany
@JoinTable(name = "service_x_appointment", joinColumns = @JoinColumn(name = "appointment_id"),
inverseJoinColumns = @JoinColumn(name = "beautyservice_id"))
Set<BeautyService> beautyServices;
private String type;
private Date date;
private String time;
private String description;
private int approval;
@ManyToOne
@JoinColumn(name = "userid")
private User user;
//getter and setter
}
Вот класс BeautyService
@Entity
@Table(name="beauty_service")
public class BeautyService extends AbstractPersistable<Long> {
private String serviceName;
private String timeDuration;
private String amount;
//getter and setter
}
Вот код класса контроллера назначения,
@RequestMapping(value="/createAppointment",method = RequestMethod.POST)
public String createAppointment(@RequestBody Appointment appointment){
String response = null;
response = appointmentService.save(appointment);
return response;
}
Вот код класса обслуживания по записи
public String save(Appointment appointment) {
appoinmentRepository.save(appointment);
return "Appointment added successfully";
}
Вот мое тело запроса.
{
"type":"Type02",
"date":null,
"time":"20:56",
"description":"Hellow World",
"approval":0,
"user":{
"id":2,
"name" : "Alex",
"telephone" : "0774466886",
"age":21,
"email": null
},
"beautyServices" : [
{
"id":1,
"serviceName":"hair strate",
"timeDuration" : "02 Hours",
"amount" : 5000
},
{
"id":2,
"serviceName":"Eye brows",
"timeDuration" : "02 Hours",
"amount" : 5000
},
{
"id":3,
"serviceName":"Near cutting",
"timeDuration" : "02 Hours",
"amount" : 5000
}
]
}
Почему бы не записать в таблицу соединений?Только таблица назначений.