Applications orientées données (NSY135)



Documents pareils
Tutoriel d installation de Hibernate avec Eclipse

Accès aux bases de données

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

BIRT (Business Intelligence and Reporting Tools)

MODE OPERATOIRE OPENOFFICE BASE

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

EndNote Web. Quick Reference Card THOMSON SCIENTIFIC

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

TD/TP 1 Introduction au SDK d Android

Etude de cas : PGE JEE V2

Enregistrement de votre Géorando Maxi Liberté

Démarrage des solutions Yourcegid On Demand avec Citrix

Les Utilisateurs dans SharePoint

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

CREATION WEB DYNAMIQUE

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

Installation et configuration du logiciel BauBit

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Sommaire. 2. L accès aux modules. 1. Aspects techniques. 1.1 Le matériel requis 2

Bases de données relationnelles

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Édu-groupe - Version 4.3

Langage SQL : créer et interroger une base

Initiation à Mendeley AUT2012

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Utiliser le portail d accès distant Pour les personnels de l université LYON1

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

MISE AU POINT FINANCIÈRE GUIDE DE L UTILISATEUR. Le logiciel MISE AU POINT FINANCIÈRE est offert sous licence par EquiSoft.

Le langage SQL Rappels

26 Centre de Sécurité et de

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

SQL Server et Active Directory

contact@nqicorp.com - Web :

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Bases de données documentaires et distribuées Cours NFE04

Itium XP. Guide Utilisateur

Objectifs du TP : Initiation à Access

Gestion de stock pour un magasin

Tutorial sur SQL Server 2000

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Manuel de l utilisateur

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Paginer les données côté serveur, mettre en cache côté client

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

Procédure d'installation complète de Click&Decide sur un serveur

Construire des plug-ins pour SAS Management Console SAS 9.1

INSTALLATION ET PRISE EN MAIN

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Bases de Données relationnelles et leurs systèmes de Gestion

Tutoriel code::blocks

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Bases de données et sites WEB

TechSoftware Présentations

Réglages du portail de P&WC

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

HOWTO INSTALLATION DB2 et NSE (sous RedHat)

dmp.gouv.fr Pour en savoir plus DMP Info Service : 24h/24 7j/7

Vous pouvez désormais consulter les textes signés par la DILA, le rechargement du code Applet se fera automatiquement.

Mise en oeuvre d un Serveur de CD AXIS StorPoint

Protocoles DHCP et DNS

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

COMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3?

Installation et compilation de gnurbs sous Windows

Connecter le lecteur réseau de Pro-Cardex 3 Vérifier la version du gestionnaire de base de données 5 Procéder à l installation 6

Environnements de développement (intégrés)

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Fiche n 14 : Import / Export avec PlanningPME

TP Bases de données réparties

MODE D EMPLOI. Plateforme de réflexion et de recherche de la CIDEGEF pour un modèle de management francophone

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

MO-Call pour les Ordinateurs. Guide de l utilisateur

Base de données relationnelle et requêtes SQL

Tutorial pour l installation et l utilisation de CREO et de Windchill

italc - GUIDE DE PRISE EN MAIN RAPIDE

Compte Rendu d intégration d application

Projet de développement

I / La démarche à suivre pour l installation de l application-crm

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Rokia Missaoui - UQO. INF4163 Hiver 2008

GPI Gestion pédagogique intégrée

Réf. : S2I-CIELL2-PI-1.0. Version : 1.0. Auteurs : S2I-TOULON

2011 Hakim Benameurlaine 1

Online Workflow. Approbation factures

FICHIERS ET DOSSIERS

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Transcription:

Applications orientées données (NSY135) 11 Le langage HQL Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire National des Arts & Métiers, Paris, France

HQL, aspects pratiques 1 / 12 Plan du cours 1 HQL, aspects pratiques Configuration Utilisation HQL et java

HQL, aspects pratiques 2 / 12 Introduction On présente ici les aspects essentiels de HQL, à compléter par la documentation officielle au besoin installons sous Eclipse du plugin Hibernate Tools Sous Eclipse, dans le menu Help, accédez au choix Marketplace (ou Software search and updates, selon les versions). Lancez une recherche sur Hibernate Tools. Lancez l installation, puis relancez Eclipse quand elle est terminée. Une fois le plugin installé, vous pouvez ouvrir des vues Eclipse. Dans le menu Windows, puis Show view, choisissez l option Hibernate

Hibertools HQL, aspects pratiques 3 / 12

HQL, aspects pratiques Configuration 4 / 12 Configuration : guide rapide Lancez tout d abord la fenêtre Hibernate Configurations. Vous pouvez créer des configurations (fichier hibernate.cfg.xml). Une configuration peut être créée à partir d un projet existant, ce qui revient à utiliser les paramètres Hibernate déjà définis pour le projet. Quand vous êtes sur l onglet Configuration de la nouvelle fenêtre, des boutons sur la droite permettent de créer une nouvelle configuration Pour une configuration existante, le bouton droit donne accès à l édition de la configuration, au lancement d un éditeur HQL, etc. Le plus simple est donc d indiquer le projet associé à la configuration, et d utiliser le fichier de mapping hibernate.cfg.xml de ce projet. Cela assure que les classes persistantes et la connexion à la base sont automatiquement détectées. L outil vous permet également de créer ou modifier un fichier de configuration avec une interface graphique assez agréable.

Configuration d une session d Hibernate HQL, aspects pratiques Configuration 5 / 12

HQL, aspects pratiques Utilisation 6 / 12 Utilisation Une fois la configuration créée, vous pouvez lancer un éditeur HQL et y saisir des requêtes. Pour l éditeur HQL, sélectionnez votre configuration de session, et utilisez soit le bouton droit, soit l icône "HQL" que vous voyez sur la barre d outils. Vous pouvez saisir des requêtes HQL dans l éditeur, et les exécuter avec la flèche verte. Trois autres vues sont utiles: Hibernate Dynamic SQL Preview vous montre la/les requête(s) SQL lancée(s) par Hibernate pour évaluer la requête HQL (très utile pour comprendre comment Hibernate matérialise le graphe requis par une requête HQL) Hibernate Query Result vous donne simplement le résultat de la requête HQL. Query parameters sert à définir la valeur des paramètres pour les requêtes qui en comportent.

Les fenêtres Hibertools HQL, aspects pratiques Utilisation 7 / 12

HQL, aspects pratiques Utilisation 8 / 12 Utilisation les requêtes HQL renvoient en général des objets Hibernate Tools affiche la référence de ces objets (peu parlant) Pour consulter plus facilement le résultat des requêtes, on peut ajouter une clause select (optionnelle en HQL) : select film.titre, film.annee from Film as film

HQL, aspects pratiques HQL et java 9 / 12 HQL et Java L intégration de HQL à Java se fait par des méthodes de la Session. Le code suivant recherche un (ou plusieurs) film(s) par leur titre. public List<Film> partitre(string titre) { Query q = session.createquery("from Film f where f.titre= :titre"); q.setstring ("titre", titre); return q.list(); } La clause select est optionnelle en HQL elle offre peu d intérêt dans une application java car on cherche en général à récupérer automatiquement des instances des classes mappées : cela implique de récupérer tous les attributs de chaque ligne.

HQL, aspects pratiques HQL et java 10 / 12 HQL et Java (2) Commme en JDBC, on peut introduire dans la requête des paramètres en les préfixant par : ("?" est également accepté). Hibernate se charge de protéger la syntaxe de la requête (en ajoutant des barres obliques devant les apostrophes et autres caractères réservés) Voici une requête un peu plus complète (et plus concise) : session.createquery("from Film as film where film.titre like :titre and film.annee < :an.setstring ("titre", "%er%").setinteger("annee", 2000).list(); On applique la technique dite de chaînage des méthodes : chaque méthode set renvoie l objet-cible objet auquel on peut donc appliquer une nouvelle méthode et ainsi de suite Notez également que l affectation des paramètres tient compte de leur type: Hibernate propose des setdate(), setinteger(), settimestamp(), etc.

HQL, aspects pratiques HQL et java 11 / 12 HQL et Java (3) On peut également utiliser comme paramètre un objet persistant, comme le montre l exemple suivant: // bergman est une instance de Artiste Artiste bergman =...; session.createquery("from Film as film where film.realisateur= :mes").setentity ("mes", bergman).list(); HQL offre la possibilité de paginer les résultats, une option souvent utile dans un contexte d application web. L exemple suivant retourne les lignes 10 à 19 du résultat. session.createquery("from Film").setFirstResult (10).setMaxResults(10).list();

HQL, aspects pratiques HQL et java 12 / 12 HQL et Java (4) La méthode list() de l objet query est la plus générale pour exécuter une requête et constituer le résultat. Si vous êtes sûr que ce dernier ne contient qu un seul objet, vous pouvez utiliser uniqueresult() : session.createquery("from Film where titre='vertigo'").uniqueresult(); Attention, une exception est levée si plus d une ligne est trouvée. Cette méthode ne devrait être appliquée que pour des recherches portant sur des attributs déclarés uniques dans le schéma de la base de données (dont la clé primaire).