Zend framework zend2&x2B;第2条未捕获例外';条令\Common\Annotations\AnnotationException'$jobId不存在

Zend framework zend2&x2B;第2条未捕获例外';条令\Common\Annotations\AnnotationException'$jobId不存在,zend-framework,doctrine-orm,Zend Framework,Doctrine Orm,我不熟悉zend 2和教义2。我试图创建实体类,但收到以下消息: 致命错误:未捕获异常 带有消息的“条令\Common\Annotations\AnnotationException” “[语义错误]中的注释“@Doctrine\ORM\Mapping\jobId” property Workers\Entity\JobSeekend::$jobId不存在或无法找到 自动加载 下面是实体类 namespace Workers\Entity; use Doctrine\ORM\Mapping a

我不熟悉zend 2和教义2。我试图创建实体类,但收到以下消息:

致命错误:未捕获异常 带有消息的“条令\Common\Annotations\AnnotationException” “[语义错误]中的注释“@Doctrine\ORM\Mapping\jobId” property Workers\Entity\JobSeekend::$jobId不存在或无法找到 自动加载

下面是实体类

namespace Workers\Entity;

use Doctrine\ORM\Mapping as ORM;
use Zend\InputFilter\InputFilter;
use Zend\InputFilter\Factory as InputFactory;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterInterface; 

/**
 * 
 *
 * @ORM\Entity
 * @ORM\Table(name="worker_main_jobsort")
 * @property int $jobId
 */
class Jobsought implements InputFilterAwareInterface 
{
    protected $inputFilter;

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


    /**
     * Magic getter to expose protected properties.
     *
     * @param string $property
     * @return mixed
     */
    public function __get($property) 
    {
        return $this->$property;
    }

    /**
     * Magic setter to save protected properties.
     *
     * @param string $property
     * @param mixed $value
     */
    public function __set($property, $value) 
    {
        $this->$property = $value;
    }
}

知道为什么ORM不能映射它吗?该表存在于我的数据库中

也刚开始使用这两种组合,但我想我知道你的问题是什么

首先,如果不使用@ignore指令,就不能尝试指定任何“奇怪”(根据strange原则)注释

其次,我想你是想用
@property int$jobId
“$jobId”
是你的PK?当你说
@ORM\GeneratedValue(strategy=“AUTO”)
告诉条令将jobid映射为你的PK时,你已经这样做了。另外,我在某个地方读到,将
name=“job_id”
添加到您的
@列
注释是一种很好的做法,但不要引用我的话。我想这并不重要

希望这有帮助

编辑-

我的坏消息是,您还遗漏了需要删除
@ORM\jobId
,因为它不是有效的条令注释(即jobId)。只需将其指定为
@ORM\Id
,就可以了