Découverte du langage HQL
Nous savons désormais comment enregistrer une entité JPA dans la base de données.
Découvrons maintenant comment manipuler notre objet grâce aux opérations de récupération,
modification et suppression. Pour ce faire, nous allons d'abord créer une classe de tests dans
laquelle nous testerons successivement ces opérations.
La préparation de cette classe nous permettra de découvrir les premiers éléments du langage
de requêtage propre à Hibernate, le langage HQL (Hibernate Query Language), que nous
approfondirons ensuite dans le chapitre suivant.Le langage HQL possède une syntaxe proche
du SQL et permet d'écrire des requêtes dans un langage simplifié et adapté à la manipulation
orientée objet.
Création de la classe de tests
Commençons par créer une nouvelle classe Main, dans laquelle nous effectuerons nos tests
successifs.
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Découverte du langage HQL
Cette classe sera composée des méthodes suivantes :
private static void clean() : vide la table EVENTS entre deux tests,
private static void print() : affiche le contenu de la table EVENTS entre deux tests,
private static void testCreate() : crée deux objets Event et les enregistre dans la base
de données,
private static void testRead() : récupère un objet Event à partir de son titre,
private static void testUpdate() : récupère un objet Event dans la base de données, le
modifie, puis rend persistantes les modifications,
private static void testDelete() : supprime un objet Event présent dans la base de
données.
Enfin, une méthode main() initialise la session Hibernate, puis appelle successivement les
méthodes de test.
import org.hibernate.Session;
public class Main {
private static Session s = null;
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Découverte du langage HQL
public static void main(String[] args) {
// Ouverture d'une session Hibernate
s = HibernateUtils.getSession();
// Lancement des tests successifs
testCreate();
testRead();
testUpdate();
testDelete();
// Fermeture de la session Hibernate
s.close();
}
// Création d'un event
private static void testCreate() {
}
// Lecture d'un event
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Découverte du langage HQL
private static void testRead() {
}
// Modification d'un event
private static void testUpdate() {
}
// Suppression d'un event
private static void testDelete() {
}
// Vide la table EVENTS de toutes ses entrées
private static void clean() {
}
// Affiche le contenu de la table EVENTS
private static void print() {
}
}
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Découverte du langage HQL
Afficher et vider la table EVENTS
Vider la table EVENTS
Commençons par la méthode clean() qui vide la table EVENTS de tout son contenu.Comme
nous l'avons vu précédemment, une opération effectuant une modification sur les données
persistantes commence par l'ouverture d'une transaction et se termine par la fermeture de
celle-ci.
Entre les deux, nous utiliserons une requête Hibernate (classe org.hibernate.Query), écrite en
HQL : "delete Event".
import java.util.Calendar;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
// Vide la table EVENTS de toutes ses entrées
private static void clean() {
System.out.println("--------- Vide la table events : ---------");
// Début de la transaction
Transaction tx = s.beginTransaction();
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !