Я новичок в Spring, пожалуйста, помогите мне .. У меня есть две сущности Customer и CustomerHobbies, они правильно отображаются в соответствии с Hibernate (никаких проблем в этом нет), при сохранении объекта customer в методе saveCustomer это приводит к ужаснымисключение, которое я полностью понимаю:
Не удалось преобразовать значение свойства типа java.lang.String [] в требуемый тип java.util.List для свойства listOfHobbies;вложенным исключением является java.lang.IllegalStateException: невозможно преобразовать значение типа java.lang.String в требуемый тип com.luv2code.springdemo.entity.CustomerHobbies для свойства listOfHobbies [0]: не найдено подходящих редакторов или стратегии преобразования найдено
мой вопрос как это побороть ??Код JSP-страницы:
<form:select path="listOfHobbies" multiple="true">
<form:option value="Cricket" label="Cricket"/>
<form:option value="Hockey" label="hockey"/>
<form:option value="Snooker" label="Snooker"/>
</form:select>
Код контроллера:
@RequestMapping("/saveCustomer")
public String saveCustomer(@Valid @ModelAttribute("addCustomer") Customer theCustomer,
BindingResult theBindingResult, Model CustomerModel) {
if (theBindingResult.hasErrors()) {
System.out.println("Has errors :"+theBindingResult);
// getting the customers from customerService instead
List<Customer> custList = customerService.getCustomers();
// add departments for select box
LinkedHashMap<Integer,String> hash= customerService.getDeptForSelectBox();
CustomerModel.addAttribute("departmentList", hash);
// add those customers to the Modal
CustomerModel.addAttribute("customerList", custList);
return "manage-customers";
}
else {
System.out.println("No errors");
// save the customer to DB
System.out.println("Customer hobbies :"+theCustomer.getListOfHobbies().size());
customerService.saveCustomer(theCustomer);
return "redirect:/customer/manageCustomer";
// cz we are redirecting to controller of jsp view page and not jsp page itself
}
}
Код объекта клиента:
@OneToMany(mappedBy="customer",cascade=CascadeType.ALL)
private List<CustomerHobbies> listOfHobbies= new ArrayList<CustomerHobbies>();
Код объекта CustomerHobbies:
@ManyToOne
@JoinColumn(name="customerId")
private Customer customer;
Скриншот интерфейса пользователя