POJO, заполненные Hibernate, являются объектами, бизнес-объектами или объектами передачи данных? - PullRequest
3 голосов
/ 30 мая 2011

У меня есть классы (POJO), аннотированные с помощью JPA и заполненные Hibernate.

Поскольку эти объекты передаются из базы данных DAO в Business Services и не имеют никакого поведения и не содержат бизнес-логики, они являются DTO..

Но я читал некоторые статьи о том, что они являются бизнес-объектами или бизнес-объектами, и это меня запутало.

Может кто-нибудь прояснить различия?

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Это DTO.

Объект без поведения - это просто сумка, в которой можно хранить состояние и передавать его (определение DTO).
Бизнес-объекты должны иметь поведение.

Хорошие новости - это Вы сами решаете, какими они должны быть.
Добавление правильного поведения сделало бы их бизнес-объектами. Hibernate просто обеспечивает постоянство.

2 голосов
/ 30 мая 2011

Бизнес-объекты инкапсулируют данные, важные для бизнеса. В отличие от контроллеров, которые инкапсулируют бизнес-логику. Контроллеры реализуют бизнес-процессы и используют сущности.

Я бы не назвал эти объекты DTO, потому что они не только передают данные из одной точки в другую. Они создают модель бизнеса, на которую могут влиять контролеры.

...