Лучшие практики - Код Hibernate внутри самой сущности? - PullRequest
4 голосов
/ 04 ноября 2011

В руководствах Google RequestFactory они рекомендуют размещать мою логику персистентности (в моем случае, Hibernate) внутри классов Entity. Затем они задают вопрос: «Что если вы не хотите реализовывать постоянный код в самой сущности?» и приступим к объяснению альтернативного метода.

Мой вопрос: что лучше: поместить логику персистентности в класс Entity или сохранить всю логику персистентности в отдельном классе?

Любая информация ценится, спасибо.

-tjw

1 Ответ

9 голосов
/ 04 ноября 2011

Помещение персистентного кода в саму сущность является шаблоном активной записи , а сохранение всей логики персистентности в отдельном классе - Репозитарием .Вы можете использовать ключевое слово repository pattern vs activerecord для поиска дополнительной информации о ваших вопросах.

Например, шаблон активной записи подвергается критике за его тестируемость без базы данных, вы можете сослаться на это длябольше информации.

Для меня я предпочитаю шаблон репозитория, так как он тестируемый, и мне не нравится, что коды персистентности и доминиканская бизнес-логика смешаны в одном классе, что нарушает акцент на разделении интересов.*

...