Рассмотрим класс (ОРМ сущностей):Spring MVC - ServletRequestDataBinder для автоматического создания экземпляров вложенных свойств
public class MyEntity {
Long id;
MyOtherEntity assoc;
// ... getters and setters
}
Я хочу, чтобы он был связан автоматически в контроллер Spring MVC, что-то вроде этого:
public ModelAndView method(HttpServletRequest request,
HttpServletResponse response, MyEntity command) {
}
это хорошо работает для простых свойств, таких как идентификатор, но assoc
он бросает исключение NullValueInNestedPathException
, поскольку assoc
не инстанцирован конструктором. Вопрос в том, как я могу сообщить ServletRequestDataBinder
(или BeanWrapper
или что-нибудь еще) для автоматического создания свойств свойств, поскольку он пробивается через путь вложенного свойства?
Я мог бы, конечно, сделать еще один класс из MyEntity
и поместить в него экземпляр, но тогда я не смогу его сохранить, используя простой вызов Hibernate, поскольку производный класс не будет отображаться.