Une entité qui étend une classe Superclasse mappée hérite de l'état persistant et des informations de mappage d'une superclasse. Vous devez utiliser une superclasse mappée pour définir les informations de mappage qui sont communes à plusieurs classes entité.
Une superclasse mappée peut être :
Une classe abstraite ou concrète
Une superclasse mappée ne peut pas :
Etre recherchée ou transmise comme argument au gestionnaire d'entité ou à des opérations de requête
Etre la cible d'une relation persistante
Il n'y a pas de table de base de données définie dans une superclasse mappée. Ses informations de mappage sont, en effet, dérivées de sa superclasse. Pour remplacer les informations de mappage pour une sous-classe donnée, utilisez l'annotation @AttributeOverride
pour cette classe.
Une superclasse mappée est identifiée par l'annotation @MappedSuperclass
.
Utilisez cette procédure pour ajouter la persistance Superclasse mappée sur une entité existante :
Ouvrez la classe Java dans l'explorateur de projets.
Sélectionnez la classe dans la vue Structure JPA.
Dans la vue Caractéristiques JPA, cliquez sur l'hyperlien du type de mappage pour accéder à la boîte de dialogue Sélection du type de mappage.
Sélectionnez Superclasse mappée, puis cliquez sur OK.
Remplissez le reste de la vue Caractéristiques JPA (pour les entités).