Quelles sont les annotations de base pour mapper une entité JPA à une table ?
Réponse
@Entity marque une classe comme entité persistante, et @Table permet de préciser le nom de la table si elle diffère du nom de la classe. @Id désigne le champ qui sert de clé primaire, souvent combiné avec @GeneratedValue pour déléguer la génération de l'identifiant à la base de données ou à une séquence. @Column permet ensuite de personnaliser le mapping d'un champ, par exemple son nom en base, sa nullabilité ou sa longueur maximale, quand la convention par défaut ne convient pas.
Piège classique
Un piège pour les débutants est d'oublier qu'une entité JPA doit avoir un constructeur sans argument, requis par le fournisseur de persistance pour instancier l'objet par réflexion avant de le remplir avec les données lues en base.