Php 原则,如何从子类中的字段中删除@Id?

Php 原则,如何从子类中的字段中删除@Id?,php,doctrine-orm,Php,Doctrine Orm,我在某些字段上有带@Id的基类,95%的casse都可以使用它,但在一些类上,我需要(为了条令关联)将其他字段映射为主键 因为每个实体都应该从基类继承,所以我想知道是否可以以某种方式覆盖映射,这样基类id字段就不再是特定子类上的主键 @AttributeOverride不允许使用@Id,但如果字段已经有了它,也不要修改它 还有其他想法吗 规格: 原则2.6+ PHP7.1+“既然每个实体都应该从基类继承”呃什么?停止使用基类。使用接口。@emix Inteface+Trait用于少数映射的“公共

我在某些字段上有带@Id的基类,95%的casse都可以使用它,但在一些类上,我需要(为了条令关联)将其他字段映射为主键


因为每个实体都应该从基类继承,所以我想知道是否可以以某种方式覆盖映射,这样基类id字段就不再是特定子类上的主键

@AttributeOverride
不允许使用
@Id
,但如果字段已经有了它,也不要修改它

还有其他想法吗

规格: 原则2.6+
PHP7.1+

“既然每个实体都应该从基类继承”呃什么?停止使用基类。使用接口。@emix Inteface+Trait用于少数映射的“公共”字段?有道理。必须阅读更多的代码才能决定它是否能解决问题。也不要使用traits,要冗长。有些重复毕竟不是坏事。我需要保证某些财产的可用性。“复制粘贴”并不能保证这一点,这毫无意义。