Я пытаюсь создать форму для обновления веб-приложения CRUD.Классы, связанные с моим вопросом, связаны в базе данных MySQL 1: N .
У меня возникла проблема с поиском элегантного решения для приведения параметра отдела к правильному типу.Я мог бы создать уродливый обходной путь с помощью jsp формы, но я хотел бы знать, что такое стандартное 1008 * SpringMVC / Hibernate.
У меня есть следующие классы сущностей Hibernate, Сотрудник и Отдел , реализованный со следующим кодом:
@Entity
@Table(name="employee")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;
@JoinColumn(name = "ID_DEPT", referencedColumnName = "ID_DEPT")
@ManyToOne(optional = false)
private Department deptId;
...
}
Обновление выполняется посредством запроса на отправку в файле jsp следующим образом:
<form:hidden path="idEmployee" />
<div class="form-group">
<label for="deptid" class="col-md-3 control-label">Department</label>
<div class="col-md-9">
<form:input path="deptId" cssClass="form-control" />
</div>
</div>
....
Запрос на отправку не предоставит правильный тип для deptId , что приводит к ошибке несоответствия типов.
Код контроллера для действия saveEmployee:
@PostMapping("/saveEmployee")
public String saveDisciplina(@ModelAttribute("employee") Disciplina theDisciplina) {
return "redirect:/employee/list";
}
Соответствующий код, касающийся EmployeeDAO:
@Override
public void saveEmployee(Employee theEmployee) {
Session currentSession = sessionFactory.getCurrentSession();
currentSession.saveOrUpdate(theEmployee);
}
Где и как мне правильно обрабатывать параметры сообщения?