Я пытался последние 3 дня, но я не могу решить мою проблему
У меня есть Персона Класс
@SuppressWarnings("rawtypes")
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="person")
@JoinColumn(name="person_id")
public Set<Book> books = new HashSet<Book>();
class Book
book_id
person_id
В моей форме JSP у меня есть
<c:forEach items="${BookList}" var="var1" varStatus="counter">
<input type="checkbox" name="books[${counter.index}].book_id" value="${var1.book_id}" >${var1.book_name}</input>
</c:forEach>
Я вставляю книги в таблицу в зависимости от флажков
Список книг заполняется из модели refrenceData.
1011 * CONTROLLER *
@RequestMapping(value = "/persons/add", method = RequestMethod.GET)
public String getAdd(Model model) {
logger.debug("Received request to show add page");
// Create new Person and add to model
// This is the formBackingOBject
model.addAttribute("personAttribute", new Person());
// This will resolve to /WEB-INF/jsp/addpage.jsp
return "hibernate/addpage";
}
@RequestMapping(value = "/persons/add", method = RequestMethod.POST)
public String add(@Valid @ModelAttribute("personAttribute") Person person, BindingResult result) {
logger.debug("Received request to add new person");
if (result.hasErrors())
return "hibernate/addpage";
else
personService.add(person);
// This will resolve to /WEB-INF/jsp/addedpage.jsp
return "hibernate/addedpage";
}
Теперь, если у меня есть один объект Book, тогда это работает нормально, и данные вводятся в БД, но если я установил, это говорит о недействительной книге свойств [1]
После поисков в SO и Google я понял, что у меня есть два варианта
PropertyEditor
AutoPopulatingList
Я не знаю, как использовать их в моем случае. Кто-нибудь может мне помочь, где я должен их использовать и как его использовать