Я создаю некоторые формы CRUD для веб-приложения.У меня есть одна сущность, скажем Part, которая имеет свои собственные поля (sku, price и т. Д.), А также ссылку на другие сущности через @OneToMany.Мой CRUD-интерфейс состоит в том, что точки данных детали редактируются в одной форме, а связанные точки данных редактируются в отдельной форме (на другой вкладке).
Когда я отправляю детальФорма будет отправлять идентификатор детали, цену, артикул и т. д., но не связанные данные.Когда Spring выполняет привязку данных, он вызывает конструктор без аргументов в моем классе Part, затем вызывает setPrice, setId, setSku и т. Д. Для связанных объектов ничего не публикуется, поскольку они находятся в отдельной форме.Объект детали, предоставленный мне Spring, затем объединяется с использованием JPA.
Проблема заключается в том, что я использую cascade = ALL, orphanRemoval = true в отношениях OneToMany.Все эти отношения удалены, потому что они являются пустыми в сгенерированном связывателем данных объекте части.Возможные решения:
- Могу ли я, чтобы Spring каким-то образом вытащил деталь из JPA вместо вызова конструктора без аргументов?
- Возьмите объект, сгенерированный связывателем данных, и скопируйте всеатрибуты части для объекта, извлеченного из базы данных
- Не использовать привязку данных;вытащить параметры из запроса сервлета
Очевидно, что первый является наиболее предпочтительным;Есть ли способ сделать это?Как вы справились с подобными ситуациями?