Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

4 Quiz JPA

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 9

23/09/2023

JPA est une spécification pour la persistance des objets


Java dans tous les types de base de données ?
A. Vrai
Richard Grin B. Faux
Version 1.4 – 23/9/23

R. Grin Quiz JPA 2

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

R. Grin Quiz JPA 3 R. Grin Quiz JPA 4

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

R. Grin Quiz JPA 5 R. Grin Quiz JPA 6

5 6

1
23/09/2023

Nom de la classe avec laquelle on travaille pour utiliser La méthode persist(objet)


JPA ? A. Sauvegarde objet dans la base de données
B. Met objet dans le contexte de persistance
EntityManager C. Indique que l’objet sera géré par l’entity manager

R. Grin Quiz JPA 7 R. Grin Quiz JPA 8

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

R. Grin Quiz JPA 9 R. Grin Quiz JPA 10

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é

R. Grin Quiz JPA 11 R. Grin Quiz JPA 12

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

Dans le serveur d'application

R. Grin Quiz JPA 13 R. Grin Quiz JPA 14

13 14

Cette classe comporte combien d’erreurs ?


@Entity
Avec JPA on ne peut travailler qu’avec une seule base de public class Client {
données à la fois private String nom;
A. Vrai public Client(String nom) {
B. Faux this.nom = nom;
}
}
A. 0
B. 1 Contruscteur par défaut +
C. 2 attribut id
D. 3
R. Grin Quiz JPA 15 R. Grin Quiz JPA 16

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

R. Grin Quiz JPA 17 R. Grin Quiz JPA 18

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

R. Grin Quiz JPA 19 R. Grin Quiz JPA 20

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

R. Grin Quiz JPA 21 R. Grin Quiz JPA 22

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

R. Grin Quiz JPA 23 R. Grin Quiz JPA 24

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

R. Grin Quiz JPA 25 R. Grin Quiz JPA 26

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

R. Grin Quiz JPA 27 R. Grin Quiz JPA 28

27 28

Association 1-N bidirectionnelle entre les départements


L’attribut mappedBy est mis dans l’entité qui est dans le et les employés.
bout propriétaire d'une association entre entités. Méthode qui ajoute un employé à un département :
A. Vrai public void ajouteEmploye(Employe employe) {
B. Faux this.employes.add(employe);
}
Du code utilise cette méthode pour ajouter un employé à
un département. Après le commit l’employé n’est pas
associé au département dans la base de données.
Pourquoi ?

R. Grin Quiz JPA 29 R. Grin Quiz JPA 30

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

R. Grin Quiz JPA 31 R. Grin Quiz JPA 32

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

ça dépend, on ajoute un attribut cascade

R. Grin Quiz JPA 33 R. Grin Quiz JPA 34

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

R. Grin Quiz JPA 35 R. Grin Quiz JPA 36

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

R. Grin Quiz JPA 39 R. Grin Quiz JPA 40

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

R. Grin Quiz JPA 41 R. Grin Quiz JPA 42

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

R. Grin Quiz JPA 43 R. Grin Quiz JPA 44

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

R. Grin Quiz JPA 45 R. Grin Quiz JPA 46

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)

R. Grin Quiz JPA 47 R. Grin Quiz JPA 48

47 48

8
23/09/2023

Blocage optimiste Que contient un attribut annoté par @Version


A. JPA ne bloque rien en espérant que tout va bien se A. Une String qui contient le nom de la version de JPA
passer utilisée
B. JPA fait un blocage court dans la base au moment du B. Un entier qui est modifié par JPA à chaque
commit modification d’une entité
C. JPA bloque toutes les lignes concernées en espérant C. Un entier que le programmeur doit modifier quand il
que ça ne nuira pas au bon fonctionnement de modifie une entité
l’application

R. Grin Quiz JPA 49 R. Grin Quiz JPA 50

49 50

La méthode lock permet de protéger une entité contre


des accès concurrents dans des cas non pris en compte
Il est possible de bloquer une ligne de la base de données
par le comportement par défaut de JPA
quand on récupère les données de cette ligne dans une
A. Vrai entité
B. Faux A. Vrai
B. Faux

R. Grin Quiz JPA 51 R. Grin Quiz JPA 52

51 52

Tous les EntityManager d’une unité de persistance


peuvent partager le même cache pour éviter de lancer 2
fois la même requête dans la base de données.
A. Vrai
B. Faux

R. Grin Quiz JPA 53

53

Vous aimerez peut-être aussi