У вас две возможности:
1) либо разрешить, чтобы поля могли быть пустыми - nullable
2) либо установить значение по умолчанию для поля.
namespace YourBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $firstName;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $lastName;
/**
* @ORM\Column(type="string", length=100)
*/
private $username = "";
/**
* @ORM\Column(type="string", length=100, unique=true)
*/
private $email;
/**
* @ORM\Column(type="string", length=100)
*/
private $password;
// getters & setters
}
Смотрите, поля firstName и lastName отмечены как nullable=true, а поле username имеет значение по умолчанию (пустая строка).
P.S. не забудьте добавить поле salt помимо пароля.
P.P.S. или лучше возьмите FOSUserBundle, и не парьтесь, там уже есть отличный набор полей для юзера, плюс возможность добавить свои.