我目前正在编写一个 MappedSuperclass 来将实体引用存储在实体对象上。例如,要为用户存储收藏夹,它可以是任何类型的模型(产品、产品类别或其他)。
该类包含双字段:
- entityType : 实体引用的类
- entityId : 实体引用的 id
最喜欢的实体类将扩展这个超类,这就是工作。
我想知道,是否有另一种(更清洁的?)方法可以做到这一点?
感谢您的投入。
我目前正在编写一个 MappedSuperclass 来将实体引用存储在实体对象上。例如,要为用户存储收藏夹,它可以是任何类型的模型(产品、产品类别或其他)。
该类包含双字段:
最喜欢的实体类将扩展这个超类,这就是工作。
我想知道,是否有另一种(更清洁的?)方法可以做到这一点?
感谢您的投入。
由于我们目前使用 Doctrine 映射进行了大量工作,这完全取决于您的业务逻辑以及您希望数据库的外观。
如果使用 mappedSuperclass,基本上,该实体不会出现在您的数据库中。只有从该 mappedSuperClass 继承的实体才会出现,并带有自己的属性和 superClass 属性。
另一种方法可能是使用继承连接类型,这一次将在您的数据库中生成该类,如果它是抽象的。
您的模式的可用性,即使是 mappedSuperclass 或 JOINED 类型,也不会改变很多事情,这完全取决于您的偏好和逻辑。
我个人更喜欢第二种方法,因为它允许构建更多数据。
我希望这有帮助。
此致。