在Symfony2 + Doctrine中以XML格式映射实体

时间:2014-06-30 18:49:41

标签: xml symfony doctrine-orm mapping

我正在开发一个项目,其中实体映射是通过XML进行的。所以这就是我的实体:

<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                    http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="Device\DeviceBundle\Entity\Device" table="device">
        <id name="id" type="integer" column="id">
            <generator strategy="AUTO" />
        </id>
        <field name="description" column="description" type="string" length="255" unique="true" nullable="false" />
        <field name="imei" column="imei" type="string" length="17" unique="true" nullable="false" />
        <field name="created" type="datetime">
            <gedmo:timestampable on="create"/>
        </field>
        <field name="modified" type="datetime">
            <gedmo:timestampable on="update"/>
        </field>
        <field name="deletedAt" type="datetime" nullable="true" />
        <gedmo:soft-deleteable field-name="deletedAt" time-aware="false" />
    </entity>
</doctrine-mapping>

当我从Symfony2控制台运行命令doctrine:schema:validate时,我将其作为输出:

  

[学说\共同\持久性\映射\ MappingException]
  类'TaxiBooking \ Device \ DeviceBundle \ Entity \ Device'不存在

是的,这是正确的文件不存在但是我应该创建这个文件还是我想念XML映射中的东西?有什么帮助吗?

我读过thisthis,但这并不能完全解释我的怀疑

1 个答案:

答案 0 :(得分:0)

我没有答应自己,因为没有。答案是&#34;是&#34;由于XML映射与注释映射的作用相同,因此需要创建文件,以便描述字段,列,关系定义等。