2013-05-10 121 views
2

我有一些麻烦,多级继承学说2多级继承

/** 
* @ORM\Entity 
* @ORM\Table(name="et_date") 
* @ORM\InheritanceType("JOINED") 
* @ORM\DiscriminatorColumn(name="type", type="string") 
* @ORM\DiscriminatorMap({"Relative" = "DateRelative", "Absolue" = "DateAbsolue"}) 
*/ 
class Date {} 

/** 
* @ORM\Entity 
* @ORM\Table(name="et_date_absolue") 
*/ 
class DateAbsolue extends Date{} 

/** 
* @ORM\Entity 
* @ORM\Table(name="et_date_relative") 
* @ORM\InheritanceType("SINGLE_TABLE") 
* @ORM\DiscriminatorColumn(name="type", type="string") 
* @ORM\DiscriminatorMap({"Inscription" = "DateRelativeInscription", "Devoir" = "DateRelativeDevoir"}) 
*/ 
class DateRelative extends Date {} 

/** 
* @ORM\Entity 
* @ORM\Table(name="et_date_relative_inscription") 
*/ 
class DateRelativeInscription extends DateRelative{} 

我鉴别我DateRelative实体列不存在...

回答

0

这是一个老问题,但我以防万一这可以帮助别人...

你不能命名你的鉴别器列“type”,因为“type”是一个保留的SQL关键字。

当我尝试命名其中一个表“Like”(也是一个保留的SQL关键字)时,我遇到了类似的问题。

作为参考,这里是所有保留SQL关键字列表的链接。

http://dev.mysql.com/doc/refman/5.0/en/keywords.html