我需要处理3个覆盖同一表“用户”的实体:
User
:涵盖了用户类,并涉及某些身份验证/验证服务。
Driver
:扩展User
,它与其他一些表有关。还涉及不同的服务。
Passenger
:扩展了User
,它与另一个表有关。还涉及不同的服务。
users
表上的所有记录均为“用户”。带有is_driver=0
的记录是乘客,带有is_driver=1
的记录是驾驶员。
我知道我可以为users表做一个映射的超类,而鉴别符将是is_driver。因此,旅客实体和驾驶员实体将对此进行扩展。我看到的问题是我无法创建扩展此映射超类的User实体,因为它没有区分符,任何记录都是User。
有一个现有的数据库,并且我正在迁移项目,其中有一个列is_driver
,用于区分用户是驾驶员还是乘客(小整数0或1)。现在我想拥有3个实体。
User
:通用(任意行)Driver
:带有is_driver = 1的行Passenger
:带有is_driver = 0的行理想情况下,所有内容都将以某种方式在ORM中附加到users
表,并且驾驶员和乘客还需要分别与不同的实体关联。