Symfony 当我在Doctrine中有复合密钥时,如何生成ID?

Symfony 当我在Doctrine中有复合密钥时,如何生成ID?,symfony,doctrine-orm,symfony-2.3,Symfony,Doctrine Orm,Symfony 2.3,我有一个带有复合键的实体。见下文: class BankAccount { /** * @ORM\Id * @ORM\Column(type="integer") * */ protected $bank; /** * @ORM\Id * @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company") */ protected $co

我有一个带有复合键的
实体
。见下文:

class BankAccount {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * 
     */
    protected $bank;

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company")
     */
    protected $company;

    ...

}

由于Doctrine在复合密钥方面存在一些问题,它不会生成序列(我在PostgreSQL中工作),因此如何处理这一问题以生成作为PK的
$bank

如果听起来您不想要复合键,只需要
$bank
上的主键和
$company
上的外键。如果是这样的话

class BankAccount {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $bank;

    /**
     * @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company")
     */
    protected $company;

    ...

}

应该这样做。

我不确定是否理解您的问题-请澄清。您不能对postgresql的主键使用
@ORM\GeneratedValue(strategy=“AUTO”)
,是否正在寻找生成id的方法?