2017-08-10 50 views
0

我有個問題。我在學說2一直在等待的DiscriminatorColumn註釋,但現在,我通過主義的更新得到了它,我無法找到Hibernate的DiscriminatorValue註釋等值學說。僅供參考,我的學說版本是「doctrine/orm」:「^ 2.5.6」和「doctrine/doctrine-bundle」:「〜1.6」,但我找不到這樣的註釋。Hibernate DiscriminatorValue在Doctrine 2中相當於

我的基本願望是在每個子類中設置Discriminator Column值,而不是在主類中設置DiscriminatorMap

+0

我解決了這個爲自己而回。有一個閱讀:https://stackoverflow.com/questions/45015356/zf2-doctrine-2-child-level-discriminators-with-class-table-inheritance。雖然不太清楚「hibernate」是什麼意思?... – Nukeface

+0

嗯,我的意思是Java Hibernate ORM - http://hibernate.org/ :) –

回答

0

就像我的評論所說的,我也有這個問題,我想在聲明子類上聲明新的DiscriminatorMap條目。簡短的回答是:根本不聲明地圖。學說照顧它。

請仔細閱讀我的full answer。這適用於我使用Class Table Inheritance (CTI),文檔聲明它應該與Single Table Inheritance (STI)相同。

的基本代碼設置,讓學說爲您處理是:

<?php 
namespace My\Namespace\Entity; 

/** 
* @Entity 
* @InheritanceType("JOINED") 
* @DiscriminatorColumn(name="discr", type="string") 
* // NOTE: No DiscriminatorMap!!! 
*/ 
class Person 
{ 
    // ... 
} 


<?php 
namespace My\Other\Namespace\Entity; 

/** @Entity */ 
class Employee extends \My\Namespace\Entity\Person 
{ 
    // ... 
} 
+0

非常感謝:) –