В Java я пишу некоторые объекты DTO, которые все наследуются от AllocationDTO
.
Список этих объектов затем передается в объект DAO для сохранения в базе данных.
В зависимости от того, какойподтип AllocationDTO
сохраняется при сохранении изменений в логике сохранения (например, какую таблицу в базе данных сохранить в и т. д.)
Я использую такой код:
for (AllocationDTO x : listOfAllocationDtos) {
if (x instanceof ManagerAllocationDTO) {
Manager m = (x(ManagerAllocationDTO)).getManager();
// save manager etc to managerallocs
} else if (x.getId() == AllocationDTO.TYPE_SPECIAL1) {
// save to specialAlloc1 table
} else if (x.getId() == AllocationDTO.TYPE_SPECIAL2) {
// save to specialAlloc2 table
}
}
The *У 1011 * есть дополнительное поле, связывающее распределение с менеджером, но для случаев specialalloc1 / 2 я не сделал подтип, потому что единственное различие в данных - это таблица, в которой они сохранены.
Мой вопроснемного мягкий вопрос дизайна - это лучший способ сделать это?