Doctrine orm 没有为原则2中的实体指定标识符/主键

Doctrine orm 没有为原则2中的实体指定标识符/主键,doctrine-orm,entity,zend-framework2,Doctrine Orm,Entity,Zend Framework2,我正在使用Zend 2框架,并试图使用Doctrine 2获取数据 但是,实体文件中出现以下错误 条令\ORM\Mapping\MappingException 没有为实体“Acl\Entity\Permission”指定标识符/主键。每个实体都必须有一个标识符/主键。 如何指定主键 我正在使用以下代码 /** *用户权限 * *@ORM\Entity *@ORM\Table(name=“acl\u权限”) *@property int$id *@property int$role\u id *

我正在使用Zend 2框架,并试图使用Doctrine 2获取数据

但是,实体文件中出现以下错误

条令\ORM\Mapping\MappingException

没有为实体“Acl\Entity\Permission”指定标识符/主键。每个实体都必须有一个标识符/主键。

如何指定主键

我正在使用以下代码

/**
*用户权限
*
*@ORM\Entity
*@ORM\Table(name=“acl\u权限”)
*@property int$id
*@property int$role\u id
*@property int$resource\u id
*@property string$action
*/
类权限
{
/**
*@ORM\Column(type=“integer”)
*/
公费$id;
/**
*@ORM\Column(type=“integer”)
*@ORM\OneToOne(targetEntity=“Role”)
*@ORM\JoinColumn(name=“role\u id”,referencedColumnName=“id”)
*/
公众角色;
/**
*@ORM\Column(type=“integer”)
*@ORM\OneToOne(targetEntity=“Resource”)
*@ORM\JoinColumn(name=“resource\u id”,referencedColumnName=“id”)
*/
公共资源;
/**
*@ORM\Column(type=“string”)
*/
公共行动;
公共函数getRole()
{
返回$this->role;
}
公共函数getResource()
{
返回$this->resource;
}
}
您检查过了吗

您可以使用
@ORM\Id
注释定义主键。如果值是自动生成的(例如,如果使用
自动增量
),您还需要设置
@ORM\GeneratedValue(strategy=“IDENTITY”)
注释