La méthode du bean CDI Init
qui crée les 4 comptes doit être exécutée au démarrage de l'application. Comme il est expliqué dans le cours, elle écoute l'événement "démarrage de l'application" qui va déclencher son exécution.
Si vous annotez cette méthode par @Transactional
, elle sera exécutée dans une transaction et les 4 appels de la méthode creerCompte
de GestionnaireCompte
seront englobés dans cette transaction puisque la valeur par défaut pour le paramètre de l'annotation est REQUIRED
(voir section sur @Transactional
dans le support sur CDI). Sinon, les 4 appels de méthode seront chacunes exécutées dans une transaction à part.
Ce bean va injecter le bean GestionnaireCompte
pour créer les 4 comptes.
La méthode n'ajoute les comptes qu'après avoir vérifié que la liste des comptes actuellement dans la base de données est vide. Pour cela vous allez ajouter une méthode nbComptes()
dans GestionnaireCompte
qui retourne le nombre de comptes bancaires enregistrés dans la base de données. Vous pouvez utiliser la fonction count(c)
du langage JPQL (c
est une expression JPQL, le plus souvent un alias d'entité) ; count(c)
retourne le nombre de valeurs non null
sous la forme d'un long
(pas d'un int
).