Quels sont les 4 types de relation entre entités ?
Quel type de relation utilisera nécessairement une table de jointure ?
@ManyToMany
Qu’est-ce-qu’une entité ?
Une classe Java dont les instances sont persistées en base. Elle est annotée par @Entity.
Quelles est la règle générale pour ce qui est de la persistence des champs ?
Chaque champ d’une entité est automatiquement associé à une colonne de même nom, pourvu qu’il soit de type:
Comment gérer correctement les champs de type date ?
Comment sont gérés les champs énumérés ?
Par défaut le champ sera persisté sous forme numérique (ORDINAL). Si l’on souhaite persister une chaine de caractères, il faut le préciser en utilisant @Enumerated(STRIING)
Comment sont persistés les champs de type Serializable ?
Dans un blob SQL
Comment forcer le stockage d’un champ dans un blob ?
Au moyen de @Lob
Quelle est la classe centrale de l’API JPA ?
La classe EntityManager. Elle gère un contexte de persistence qui contient toutes les entités gérées.
Quelles sont les 5 opérations possibles sur une entité ?
Quel est le lien entre les opérations sur les entités et les transactions ?
La synchronisation entre le contexte de persistence et la base a lieu quand la transaction est validée.
Quelle est la différence entre entité maitre et entité esclave ?
Le côté maitre de la relation contient la clé étrangère vers le côté esclave.
Comment définir une relation bidirectionnelle ?
En utilisant l’attribut mappedBy. Attention si on oublie de l’utiliser, on risque de créer deux relations unidirectionnelles.
Définir la notion de cascade
Cela permet de spécifier ce qui se passe sur les entités filles quand l’entité mère subit une opération.
Comment fonctionne la suppression d’orphelins ?
En utilisant l’attribut orphanRemoval, JPA va détecter les entités filles qui ne sont plus référencées par leur mère, et les supprimer de la base.
Quels sont les deux modes de chargement d’une relation ?
Quels sont les deux moyens de déclarer qu’une collection doit être triée ?
Quelles sont les 3 différentes stratégies d’héritage ?
On peut spécifier une des stratégie au moyen de @Inheritance
A quoi sert @MappedSuperclass ?
A avoir une entité parent sans
Quels sont les avantages et les inconvénients de SINGLE_TABLE ?
Quels sont les avantages et les inconvénients de JOINED ?
Quels sont les avantages et les inconvénients de TABLE_PER_CLASS ?