Модель анемичной области в случае структур сущностей
Я читал об этой проблеме анемичной доменной модели, которую Фаулер описывает на своем сайте.
Насколько я понимаю, он говорит, что классы модели предметной области должны содержать связанную с ними бизнес-логику, потому что это больше ООП и имеет ряд других преимуществ.
Теперь мой вопрос: допустим, я использую hibernate, и в этом случае я аннотирую свои классы сущностей с помощью аннотаций JPA или Hibernate.
Согласно Фаулеру, эти классы сущностей должны содержать бизнес-логику?
Я спрашиваю, потому что, по словам Роберта Мартина (он говорит об этом в нескольких выступлениях на YouTube), вы никогда не должны помещать свою бизнес-логику в классы, которые содержат сторонний код какого-либо типа. Вместо этого бизнес-логика и бизнес-правила должны быть отделены и защищены от специфических для технологии деталей.
Прав ли я, говоря, что они как бы противоречат друг другу? Или я просто не понимаю?
И снова: согласно Фаулеру, я должен поместить бизнес-логику в классы сущностей (например, "Пользователь", "Продукт" и т. Д.), Чтобы, в случае использования инфраструктуры хранения, содержать все эти технологические аннотации?
Я всегда думал, что вы должны стараться быть максимально отделенным от стороннего кода, чтобы защитить свой собственный код от неожиданных изменений.