在教义中使用具有多个级别的类表继承时:
帐户 - >用户 - >经销商
(经销商继承自用户,账户用户)
帐户具有鉴别器列和映射。当持久化新的Dealer实体时,我得到一个外键错误,因为User表中没有行。
因此执行insert语句的顺序是:
1)插入帐户
2)插入经销商(导致错误)
3)插入用户
有人可以提前帮助我吗
答案 0 :(得分:0)
这是我的配置:
/**
* @Table(name="Account")
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"Account" = "Default_Model_Account","User" = "Default_Model_User","Dealer" = "Default_Model_Dealer"})
*/
class Default_Model_Account {
/**
* @id @column(name="accountID",type="integer")
* @GeneratedValue(strategy="AUTO")
*/
protected $accountID;
/**
* @column(name="email",type="string")
*
*/
protected $email;
}
/**
* @Table(name="User")
* @Entity
*/
class Default_Model_User extends Default_Model_Account{
/**
* @column(name="firstName",type="string")
*/
protected $firstName;
}
/**
* @Entity
* @Table(name="Dealer")
*
*/
class Default_Model_Dealer extends Default_Model_User{
/**
* @column(name="type",type="string")
*/
protected $type;
}