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