Спящий базовый класс без аннотаций - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть проект, который включает классы dto из другого проекта, которые я не могу изменить.Я хочу сохранить их данные, но расширение или встраивание их требует, чтобы я изменил их, добавив соответствующие аннотации.

Это лучшее решение здесь, чтобы использовать xml, или там я как-то пропустил, чтобы сказать hibernate, чтобы сохранитьвстроенный или составной класс без аннотирования класса другого проекта?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы должны каким-то образом предоставить информацию для отображения в Hibernate.Есть два способа:

  • аннотации
  • XML-сопоставления

Поскольку вы хотите использовать классы из другого проекта, но не можете их аннотировать, толькоможно использовать XML-сопоставления.

Однако я бы предложил реализовать собственные уровни сохранения и преобразования, т.е. получить DTO -> convert to entity -> persist.Это дает следующие преимущества:

  1. Лучшая схема БД.DTO не могут быть хорошо приспособлены к постоянству.
  2. Больше контроля.Изменения, сделанные в другом проекте, могут нарушить / повлиять на постоянство.Конвертеры обычно легче исправить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...