DataMapper и наследование одной таблицы
У меня есть Родитель Лицо с двумя детьми Сотрудник и Участник, а Участник имеет двоих детей Обычный и Премиум.
Я реализовал подход единой таблицы наследования в базе данных. Теперь я хотел бы спросить о datamapper, как это должно выглядеть?
должен ли я иметь только класс PersonDataMapper, а затем вести себя должным образом в соответствии с классом, передаваемым мне, будь то сотрудник, член и т. д.?
или я должен иметь отдельный класс datamapper для каждого класса? т.е. есть PersonDataMapper, EmployeeDataMapper, MemberDataMapper и т. д.
Вот еще одна демонстрация:
class Person
{
}
class Member : Person
{
}
class Employee : Person
{
}
class Regular : Member
{
}
class Premium : Member
{
}
Теперь я хотел бы реализовать datamapper, используя Single Table Inheritance для вышеупомянутой структуры класса, как это должно выглядеть?