Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 10 · Application directe du cours
Un éditeur pour chaque livre
PostgreSQL et les migrations · niveau 1 (application)
Énoncé
Ajouter l'éditeur d'un livre (facultatif, 100 caractères), sans casser les bases existantes : migration et entité. Renseigner « Gallimard » pour Le Petit Prince et L'Étranger. Vérifier par un test.
Corrigé
Une nouvelle migration, V3__editeur.sql (la colonne est facultative : les lignes existantes reçoivent null) :
-- Exercice 10.1 : l'éditeur d'un livre, facultatif.
alter table livre add column editeur varchar(100);
update livre set editeur = 'Gallimard' where isbn in ('9782956300052', '9782956300069');
et le champ dans l'entité, avec son accesseur :
@Column(length = 100)
private String editeur; // exercice 10.1 (migration V3)
public String getEditeur() { return editeur; }
@Test
void lEditeurEstRenseigne() {
assertThat(jdbc.queryForObject("select editeur from livre where isbn = '9782956300052'", String.class))
.isEqualTo("Gallimard");
}
Avec l'entité seule, Hibernate refusait de démarrer (cours) ; avec la migration seule, tout fonctionne mais l'éditeur reste invisible pour Java. Les deux vont ensemble, dans le même changement.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.