我没有给出有效的实体或映射的超类

时间:2013-11-18 00:50:37

标签: symfony doctrine-orm

我正在尝试通过cli创建实体。当我尝试通过控制台创建getter / setter时,会出现此错误:Doctrin \ ORM \ Mapping \ MappingException

类SfTuts \ JobeetBundle \ Entity \ Job不是有效实体或映射超类

这是我的代码:

<?php

            namespace SfTuts\JobeetBundle\Entity;

            use Doctrine\ORM\Mapping as ORM;

            /**
             * @ORM\Entity
             * @ORM\Table(name="job")
             */
            class Job
            {
                /**
                 * @ORM\Id @Column(type="integer")
                 * @ORM\GeneratedValue
                 */
                protected $id;
            }

我该如何解决这个问题?我的错在哪里?感谢。

1 个答案:

答案 0 :(得分:0)

检查config.yml文件中是否有此选项

doctrine:
    orm:
        auto_mapping: true

您的列声明也是错误的。它应该是@ORM\Column而不是@Column因为您使用Doctrine\ORM\Mapping命名空间进行注释,而不是SfTuts\JobeetBundle\Entity     

        namespace SfTuts\JobeetBundle\Entity;

        use Doctrine\ORM\Mapping as ORM;

        /**
         * @ORM\Entity
         * @ORM\Table(name="job")
         */
        class Job
        {
            /**
             * @ORM\Id 
             * @ORM\Column(type="integer")
             * @ORM\GeneratedValue
             */
            protected $id;
        }