Должен ли я изменить сгенерированные JPA бины или это плохая практика?
Я проделал большую работу с XML-схемой и JAXB для генерации Java-бинов. Я никогда не трогал сгенерированные bean-компоненты, а только расширял их в других bean-компонентах, потому что в противном случае я мог бы потерять код, если bean-компоненты создаются заново. На самом деле я автоматически генерирую свои bean-компоненты перед тем, как разрешить любую сборку Это гарантирует мне всегда иметь только одну правду.
Является ли эта идея верной для генерации бина JPA, или генерация бина JPA должна быть разовой?
Стоит ли трогать сгенерированные бобы JPA или они неприкасаемы? Я не могу найти какой-либо стиль или рекомендацию лучшей практики...
2 ответа
На самом деле, лучше всего помещать код (кроме методов получения и установки) в объекты JPA. Невыполнение этого приводит к анемичной модели предметной области.
Генерация сущностей JPA из схемы может быть полезна для запуска, но как только это будет сделано, вы должны точно настроить код и структуру этих сущностей и добавить в них бизнес-логику. Совсем нетрудно писать сущности с нуля, без какой-либо фазы генерации.
Модель толстого домена в конечном итоге создает один домен, а ограниченная система - тоже медленная. Держите их стройными, и некоторая оптимизация может быть сделана. Сделайте их толстыми, и в конечном итоге вы потеряете контроль. Старый и проверенный шаблон DTO с хорошим промежуточным API - все еще правильный путь - вы можете даже отказаться от ORM. Entity2Gui "шаблон" фиксирует все в обоих направлениях. Вредно и крайне дорого.