Передача объекта Entity [s] между уровнями? - PullRequest
1 голос
/ 28 января 2011

Пожалуйста, поделитесь своим мнением о таких вещах, которые я сейчас тестирую:

  1. Имейте сущность JPA внутри моего управляемого JSF-компонента
  2. Свяжите свойства сущности с JSFнапример, элементы формы, такие как входной текст, комбо, даже данные для списка подробных объектов сущности.
  3. Обработать сущность объектом службы, то есть самим объектом сущности, и, возможно, с некоторыми другими простыми переменными / объектами
  4. Служба выполнит некоторые базовые проверки или простые процессы и доставит объект сущности на уровень DAO для сохранения
  5. И представление JSF будет отражать отсоединенную сущность

Это решение с передачей сущностей между уровнями в порядке?

Простите меня за мою неопытность в этом вопросе, поскольку я привык играть с «переменными» в веб-приложении (используя formbean на основе карты в стойках 1), но я читал о преобразовании объектов-сущностей в некоторые другиеформат, но я не уверен, для чего это?

Если определены отношения между сущностями, мы можем связать их с компонентами JSF и, следовательно, отрендерить на основе и заполнить свойства сущности.

1 Ответ

2 голосов
/ 28 января 2011

Да, это прекрасно, и на самом деле это рекомендуемый способ сделать это в настоящее время.

Это «преобразование объектов сущностей в какой-то другой формат» относится, вероятно, к Объекту передачи данных шаблон, который был необходим в старые добрые времена до аннотаций, когда классы сущностей обычно должны были наследоваться от некоторого базового класса, специфичного для фреймворка, подвергаться манипуляциям с байт-кодом или были реализованы как прокси-объекты контейнером EJB.

Такие объекты сущности либо невозможно сериализовать, либо содержат гораздо больше состояний, чем фактические данные сущности, и поэтому при сериализации будут тратить много места.Поэтому, если вы хотите иметь отдельный уровень сервера приложений, вам необходимо использовать шаблон DTO, чтобы он эффективно взаимодействовал с веб-уровнем.

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