У меня проблема с добавлением/обновлением записей с отношениями. Не могли бы вы посоветовать, как это должно работать?
У меня есть две сущности: Вопрос и Категория:
public class Question {
@Id
@GeneratedValue
private Long questionId;
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "category")
private Category category;
а также
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue
private Long categoryId;
private String name;
У меня есть список категорий, и я хотел бы добавить новый вопрос с выбранной категорией. Итак, в моем QuestionController у меня есть метод добавления:
@RequestMapping(value = "/add", method = RequestMethod.GET)
public ModelAndView add() {
ModelAndView mav = new ModelAndView("question/add");
mav.addObject("question", new Question());
mav.addObject("categoryList", categoryService.getAll());
return mav;
}
и форма:
<form:form modelAttribute="question" method="POST" >
Name: <form:input path="name" value="${ques.name}" />
Category: <form:select path="category" items="${categoryList}" />
<input type="submit" value="Add" />
</form:form>
На данный момент все выглядит хорошо (я могу заполнить название вопроса и выбрать категорию). Но я не знаю, как должен работать метод добавления POST
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String added(@ModelAttribute Question question, BindingResult bindingResult) {
}
Когда я пытаюсь использовать описанный выше метод, у меня возникает ошибка: Не удалось преобразовать значение свойства типа 'java.lang.String' в требуемый тип model.Category
Я пытался найти аналогичную проблему, но ничего не нашел. Так что, если кто-то может помочь/советом или показать ссылку на аналогичную проблему, я был бы признателен!
Ваше здоровье!