2个mysql表映射为1个扩展实体

Posted

技术标签:

【中文标题】2个mysql表映射为1个扩展实体【英文标题】:2 mysql tables mapped as 1 extending entity 【发布时间】:2013-06-21 15:28:33 【问题描述】:

我有以下设置:

映射到我的客户表的原则实体客户端 映射到我的campaign_clients 表的理论实体CampaignClient

在数据库中,campaign_clients.client_id 表示clients.id 的外键。在 Doctrine 中,您通常会在这两个对象之间建立关系。

但是,有人指出,Doctrine2 提供了为此提供良好 OO 结构的能力:class CampaignClient extends Client。这样(根据理论)我可以检索 CampaignClient 并拥有所有可用的客户端字段,而无需使用 $campaign_client->getClient(); 来获取 Client 对象。

所以我的问题是,它叫什么?我在谷歌上搜索了很多术语,但我就是不知道要查找什么。

【问题讨论】:

【参考方案1】:

在文档中进行更多搜索后,我设法找到了一些东西。我需要的是类表继承:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#class-table-inheritance

【讨论】:

以上是关于2个mysql表映射为1个扩展实体的主要内容,如果未能解决你的问题,请参考以下文章

doctrine2 映射覆盖从 MappedSuperclass 继承的 inversedBy 字段。

Hibernate初探之单表映射

基于AbstractProcessor扩展MapStruct自动生成实体映射工具类

Propper实体关联与一个实体映射为连接表(Doctrine 2)

数据结构:顺序表(实现方式及扩展等)

数据结构:顺序表(实现方式及扩展等)