# Doctrine ORM - Les bases (Symfony) > Entities, annotations, EntityManager, repositories, DQL, QueryBuilder, relationships - 25 questions d'entretien - Junior - [Questions d'entretien: Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien.md) ## 1. Qu'est-ce que Doctrine ORM dans le contexte de Symfony ? **Réponse** Doctrine ORM est un Object-Relational Mapper qui permet de manipuler des données de base de données via des objets PHP. Il abstrait les requêtes SQL en fournissant une couche objet, rendant le code plus maintenable et portable entre différents systèmes de gestion de bases de données. C'est l'ORM par défaut recommandé avec Symfony. ## 2. Quel attribut PHP 8 utiliser pour déclarer une classe comme entité Doctrine ? **Réponse** L'attribut #[ORM\Entity] est utilisé pour indiquer à Doctrine qu'une classe PHP est une entité mappée à une table de base de données. Cet attribut remplace les annotations en commentaires et fait partie du namespace Doctrine\ORM\Mapping. Il peut être combiné avec repositoryClass pour spécifier un repository personnalisé. ## 3. Comment définir une colonne auto-incrémentée comme clé primaire dans une entité Doctrine ? **Réponse** Pour définir une clé primaire auto-incrémentée, il faut combiner deux attributs : #[ORM\Id] pour marquer la propriété comme identifiant, et #[ORM\GeneratedValue] pour indiquer que la valeur sera générée automatiquement par la base de données. La stratégie par défaut est AUTO, qui choisit la méthode appropriée selon le SGBD. ## 22 questions supplémentaires disponibles - Quelle est la différence entre persist() et flush() dans EntityManager ? - Quel attribut utiliser pour mapper une propriété string à une colonne VARCHAR en Doctrine ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Symfony - [PHP Moderne (8.1+)](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/php-modern-features.md): 20 questions, Junior - [Les bases de Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/twig-templates.md): 20 questions, Junior - [Formulaires Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/forms.md): 22 questions, Junior - [Validation de données](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Security & Authentication](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-authentication.md): 26 questions, Confirmé - [Doctrine avancé](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-advanced.md): 24 questions, Confirmé - [API Platform](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/api-platform.md): 22 questions, Confirmé - [Serializer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/serializer.md): 20 questions, Confirmé - [Events & Event Subscribers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/events-subscribers.md): 20 questions, Confirmé - [Console & Commands](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/console-commands.md): 18 questions, Confirmé - [Messenger Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/messenger.md): 22 questions, Confirmé - [HTTP Client](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/http-client.md): 18 questions, Confirmé - [Cache & Performance](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/cache.md): 20 questions, Confirmé - [Workflow Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/workflow.md): 18 questions, Confirmé - [Testing Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/testing.md): 22 questions, Confirmé - [Mailer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/mailer.md): 16 questions, Confirmé - [Translations & i18n](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/translations.md): 16 questions, Confirmé - [EasyAdmin Bundle](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/easyadmin.md): 18 questions, Confirmé - [Architecture Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/architecture-patterns.md): 24 questions, Senior - [Performance & Optimisation](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité avancée](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-advanced.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/custom-bundles.md): 20 questions, Senior - [Microservices avec Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-orm-basics