What best practices should be followed when creating Entity classes in PHP with Doctrine annotations?

When creating Entity classes in PHP with Doctrine annotations, it is important to follow best practices to ensure the proper mapping between your PHP classes and database tables. This includes properly annotating your class properties with Doctrine annotations such as @ORM\Entity, @ORM\Table, @ORM\Column, @ORM\Id, @ORM\GeneratedValue, and any other necessary annotations for relationships or constraints.

<?php

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $email;

    // Getters and setters
}