symfony2如何用FosuserBundle覆盖用户类?

symfony2如何用FosuserBundle覆盖用户类?,symfony,overriding,fosuserbundle,Symfony,Overriding,Fosuserbundle,我的问题很简单,但是我搜索了一个小时却没有成功,我想给UserEntity添加一些约束。例如,我想限制用户名的长度 我认为最好的方法是不要接触供应商的FOS。我已经用我自己的layout.html等创建了我自己的userBundle。。。但我无法覆盖FosuserBundle中已经存在的Attribute(它正在覆盖布局,顺便说一句,我的userBundle是FOS的子项) 有趣的是,“id”对于重写没有问题 我的用户实体: <?php namespace Diane\UserBundl

我的问题很简单,但是我搜索了一个小时却没有成功,我想给UserEntity添加一些约束。例如,我想限制用户名的长度

我认为最好的方法是不要接触供应商的FOS。我已经用我自己的layout.html等创建了我自己的userBundle。。。但我无法覆盖FosuserBundle中已经存在的Attribute(它正在覆盖布局,顺便说一句,我的userBundle是FOS的子项) 有趣的是,“id”对于重写没有问题

我的用户实体:

<?php

namespace Diane\UserBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**

 * User
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Diane\UserBundle\Entity\UserRepository")
 */
class User extends BaseUser
{
    /**

     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var string
     * @ORM\Column(name="username", type="string", length=10)
     */
    protected $username;

}
错误消息:

条令\ORM\Mapping\MappingException]列的重复定义 字段中实体“Diane\UserBundle\entity\User”上的“用户名”或 鉴别器列映射


谢谢你能给我提供的任何想法

试试AttributeOverrides
条令
注释:

/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Diane\UserBundle\Entity\UserRepository") / class User extends 
 *
 * @ORM\AttributeOverrides({
 *      @ORM\AttributeOverride(name="username",
 *          column=@ORM\Column(
 *              name     = "username",
 *              type     = "string",
 *              length   = 10
 *          )
 *      )
 * })
 *
 */
class User extends BaseUser
{

这是可行的,但值得注意的是,它打破了“php应用程序/控制台原则:生成:实体”请编辑代码块
/**
 * @var string
 */
/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Diane\UserBundle\Entity\UserRepository") / class User extends 
 *
 * @ORM\AttributeOverrides({
 *      @ORM\AttributeOverride(name="username",
 *          column=@ORM\Column(
 *              name     = "username",
 *              type     = "string",
 *              length   = 10
 *          )
 *      )
 * })
 *
 */
class User extends BaseUser
{