Предположим, у меня есть класс User
и два подкласса Employee
и Customer
.Я реализовал эту иерархию в виде таблицы на иерархию в БД со столбцом для указания типа пользователя.Мне нужно вернуть правильный тип объекта при запросе этой таблицы.
Нужны ли отдельные DAO для каждого типа объектов, таких как CustomerDAO
или EmployeeDAO
, поэтому каждый возвращает свои соответствующие объекты Customer
и Employee
.Если да, то как получить их из DAOFactory
без использования:
if(type.equlas('customer'))
return customerDao;
else
retrun employeeDao;
Поскольку типы, реализующие User
, могут измениться, и я не хочу менять условия каждый раз.
ИлиЕсть ли другой путь?Любая идея будет принята с благодарностью.
Примечание: Я не использую какой-либо фреймворк ORM и не планирую использовать один.