4 Quiz JPA
4 Quiz JPA
4 Quiz JPA
1 2
JPA est construit au-dessus de JDBC JPA peut être utilisé en dehors de Jakarta EE
A. Vrai A. Vrai
B. Faux B. Faux
3 4
Toutes les instances d’entités sont automatiquement Toutes les classes Java annotées avec @Entity sont des
sauvegardées dans la base de données entités
A. Vrai A. Vrai
B. Faux B. Faux
5 6
1
23/09/2023
7 8
@PersistenceContext sert à injecter un L’accès aux données contenues dans une entité se fait
EntityManager toujours en passant par les getters et les setters
A. Vrai A. Vrai
B. Faux B. Faux
9 10
Tous les types de données Java sans exception peuvent Les noms des tables de la base de données sont donnés
être sauvegardés dans une base de données A. Dans le fichier persistence.xml
A. Vrai B. Par des annotations sur les entités
B. Faux C. Par défaut d’après le nom de l’entité
11 12
2
23/09/2023
Le fichier persistence.xml contient le nom et Dans Jakarta EE, on peut indiquer le nom et
l’emplacement de la base de donnée l’emplacement de la base de données utilisée par JPA
A. Vrai A. Dans le fichier persistence.xml
B. Faux B. Par une annotation dans l’application
C. Dans le serveur d’application
13 14
15 16
em est un EntityManager. Une méthode transactionnelle Une classe annotée par @Embeddable est un type
d’un bean CDI contient ce code : particulier d’entité
em.merge(departement) ; A. Vrai
departement.nom = "Informatique";
B. Faux
La transaction se termine à la fin de la méthode. Est-ce
que le département sera enregistré dans la base de
données avec le nom « Informatique » ?
A. Oui
B. Non
17 18
3
23/09/2023
Un entity manager géré par l’application est créé par Il existe 2 types d’entity manager gérés par le container :
new EntityManager(…) dans le code de l’application de portée transaction et de portée étendue
A. Vrai A. Vrai
B. Faux B. Faux
19 20
Si les EntityManager sont gérés par le container, est-ce Un EM géré par le container, de portée transaction, peut
qu’un contexte de persistance est toujours attaché à un utiliser un CP qui a déjà été utilisé par un autre EM
même EntityManager ? A. Vrai
A. Oui B. Faux
B. Non
21 22
Les entités retournées par un query ou un find sont merge sert à fusionner 2 entités qui existent déjà en une
automatiquement gérées par l’entity manager seule entité
A. Vrai A. Vrai
B. Faux B. Faux
23 24
4
23/09/2023
Il est conseillé d’avoir dans les entités des id « non Pour générer un nouvel id on peut utiliser une séquence
significatifs », par exemple des nombres qui sont d’Oracle
incrémentés à chaque fois qu’on a besoin d’un nouvel id A. Vrai
A. Vrai B. Faux
B. Faux
25 26
Une association bidirectionnelle est une association qui Le bout propriétaire d’une association bidirectionnelle
lie une entité à 2 autres entités 1 – N est le bout
A. Vrai A. 1
B. Faux B. N
27 28
29 30
On n'a mis à jour que le côté qui n"est pas le bout
propriétaire
5
23/09/2023
L’annotation @JoinColumn sert à Quelle est l’annotation qui permet d’indiquer une
A. Indiquer quel attribut de l’entité servira à faire association M – N ?
l’association entre l’entité et une autre entité
B. Donner le nom de la colonne clé étrangère dans la
table relationnelle
@ManyToMany
31 32
Si une entité est rendue persistante, toutes les entités L’attribut cascade sert toujours à supprimer
associées à cette entité sont automatiquement rendues automatiquement une entité si une entité associée est
persistantes supprimée
A. Vrai A. Vrai
B. Faux B. Faux
33 34
Lorsqu’une entité est récupérée depuis la base de Est-il possible lors d’un find ou d’un query d’indiquer
données, toutes les entités associées sont qu’on veut récupérer aussi les entités associées ?
automatiquement récupérées A. Oui
A. Vrai B. Non
B. Faux
35 36
6
23/09/2023
L’héritage en JPA… Une entité peut avoir une classe mère qui n’est pas une
A. Par défaut les données contenues dans toutes les entité mais dont l’état sera sauvegardé dans la base de
classes d’une même hiérarchie d’héritage sont données
sauvegardées dans une seule table relationnelle A. Vrai
B. L’inconvénient du mode JOINED est que beaucoup
B. Faux
de jointures sont nécessaires pour reconstituer les
données d’une entité
C. Il est nécessaire d’ajouter des annotations autres que
@Entity sur les classes filles et les classes mères pour
que les données des entités soient enregistrées dans
la base de données
R. Grin Quiz JPA 37 R. Grin Quiz JPA 38
37 38
La méthode find permet de retrouver des entités en Il est possible d’obtenir les entités d’une requête par
donnant un critère de recherche (par exemple tous les paquets de 10 plutôt que d’obtenir toutes les entités en
clients de la banque qui ont un solde négatif ) une fois
A. Vrai A. Vrai
B. Faux B. Faux
39 40
Le langage JPQL ressemble au langage SQL mais il ne On peut faire des « group by » avec JPQL
permet pas de faire des sous-requêtes A. Vrai
A. Vrai B. Faux
B. Faux
41 42
7
23/09/2023
Le select d’un ordre JPQL ne peut retourner que des Une requête JPQL peut utiliser
entités entières A. Des classes annotées par @Entity
A. Vrai B. Des classes annotées par @Embeddable
B. Faux C. Des classes annotées par @MappedSuperclass
43 44
Les erreurs dans les ordres JPQL sont détectées par le Les opérations de modification en volume (update avec
compilateur Java. une instance de Query)
A. Vrai A. Sont nécessaires pour pouvoir modifier plus de 32768
B. Faux entités en une seule transaction
B. Permettent d’optimiser un grand nombre de
modifications sur des entités
API Criteria
45 46
JPA ne fait rien pour empêcher les problèmes d’accès A quoi peuvent servir les requêtes « natives » créées par
concurrent ; c’est le programmeur qui doit les gérer createNativeQuery ?
A. Vrai A. Exécuter des requêtes particulières à un SGBD et qui
B. Faux ne sont pas définies par les standards SQL
B. Créer des tables (TABLE)
C. Créer des vues (VIEW)
D. Créer des requêtes SQL dans une langue particulière
(anglais, allemand ou français par exemple)
47 48
8
23/09/2023
49 50
51 52
53