0

我目前正在编写一个 MappedSuperclass 来将实体引用存储在实体对象上。例如,要为用户存储收藏夹,它可以是任何类型的模型(产品、产品类别或其他)。

该类包含双字段:

  • entityType : 实体引用的类
  • entityId : 实体引用的 id

最喜欢的实体类将扩展这个超类,这就是工作。

我想知道,是否有另一种(更清洁的?)方法可以做到这一点?

感谢您的投入。

4

1 回答 1

0

由于我们目前使用 Doctrine 映射进行了大量工作,这完全取决于您的业务逻辑以及您希望数据库的外观。

如果使用 mappedSuperclass,基本上,该实体不会出现在您的数据库中。只有从该 mappedSuperClass 继承的实体才会出现,并带有自己的属性和 superClass 属性。

另一种方法可能是使用继承连接类型,这一次将在您的数据库中生成该类,如果它是抽象的。

您的模式的可用性,即使是 mappedSuperclass 或 JOINED 类型,也不会改变很多事情,这完全取决于您的偏好和逻辑。

我个人更喜欢第二种方法,因为它允许构建更多数据。

我希望这有帮助。

此致。

于 2016-02-12T14:18:45.047 回答