Технологии: Spring, Hibernate, JSR-303, JQuery
Платформа: Windows
Я пытаюсь реализовать простой вариант использования обновления.См. Ссылка на исходный код службы / службы / контроллера
Class2 содержит много свойств, включая Class1.Class2Controller использует Spring для создания нового объекта Class2 и привязки параметров объекта HttpRequest к Class2.Затем он вызывает Сервис, который, в свою очередь, вызывает DAO.В DAO, каков наиболее эффективный способ обновления этого нового объекта Class2 до базы данных?
Опция 1:
В настоящее время в DAO я извлекаю объект Class2 из базы данных.
Class2 class2Persisted = em.find(Class2.class, class2Request.getId());
Обновить полученный объект со свойствами из объекта запроса и зафиксировать
tx.begin();
class2Persisted.setClass1(class2Request.getClass1());
em.merge(class2Request);
tx.commit();
Выше ятолько обновление одного свойства с помощью setClass1.Но в Class2 есть много свойств, которые нужно будет обновить.Есть ли другой эффективный способ слияния class2Persisted с class2Request на уровне объекта, а не на каждом уровне свойств?
Вариант 2
ПустьClass2Controller извлекает объект class2Persisted и запрашивает Spring для привязки параметров.
Я понял, что вариант 2 не является жизнеспособным вариантом.Пожалуйста, смотрите другую проблему ссылка , с которой я столкнулся ранее.Hibernate попытается загрузить связанные объекты и выбросит EntityNotFoundException
без моего пользовательского ограничения @IdMustExist
, получая возможность проверки.
Пожалуйста, предложите, если у вас есть какие-либо другие предложения.