Лучший способ обновить объектный объект из объекта DTO, используя Hibernate и Spring - PullRequest
0 голосов
/ 02 июня 2018

Сначала объясните контекст.У меня есть серверное приложение Java (Spring / Hibernate), которое доступно через клиент Rest.Проблема: Поскольку API выставлен как RestApi, я получаю объект DTO от клиента с идентификатором объекта, который необходимо обновить.

Текущий подход: я получаю объект из БД на основе идентификатора, иотсоединение его от постоянного контекста, преобразование объекта DTO в объект сущности, затем отправка его в DAO, где я снова извлекаю сущность из БД (так как DAO может вызываться напрямую другими внутренними классами), затем снова отсоединяю ее и вызываем более поздние операции слияния,Таким образом, для каждого вызова обновления hibernate будет запускать 3 оператора выбора и 1 оператор обновления.Можно ли как-нибудь уменьшить количество избранных звонков.

1 Ответ

0 голосов
/ 02 июня 2018

если все ваши запросы выполняются в одном сеансе, hibernate не должен загружать сущности снова для каждого запроса к хранилищу, просто используйте аннотацию @Transactional для ваших классов обслуживания

еще один подход - использовать кэш второго уровня гибернат:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...