/** * Person * @author kraken */ /** * @entity * @inheritanceType("JOINED") * @discriminatorColumn(name="role_discr", type="string") * @discriminatorMap({"Developer" = "Entities\Developer", "Superadmin" = "Entities\Superadmin", "Admin" = "Entities\Admin", "Installer" = "Entities\Installer", "User" = "Entities\User"}) * @table(name="persons") * @hasLifecycleCallbacks * @abstract */ abstract class Person extends \DannaxTools\BaseEntity { /** * @id * @column(type="integer") * @generatedValue(strategy="SEQUENCE") */ private $id; /** * @ManyToOne(targetEntity="Person") * @JoinColumn(name="id_creator", referencedColumnName="id", nullable=true) */ private $creator; /** * @ManyToOne(targetEntity="Role") * @JoinColumn(name="id_role", referencedColumnName="id", nullable=false) */ private $role; /** * @column(type="string", length=200, nullable=false, unique=true) */ private $email; /** * @column(type="string", length=200, nullable=false) */ private $firstName; /** * @column(type="string", length=200, nullable=false) */ private $password; /** * @column(type="string", length=200, nullable=false) */ private $lastName; /** * @column(type="boolean", nullable=false) */ private $active; /** * @column(type="datetime", nullable=false) */ private $modified; /** * @column(type="datetime", nullable=false) */ private $created;