Tutoriel JPA 1 : installation et analyse

/////Tutoriel JPA 1 : installation et analyse

JPA est une spécification (JSR 317). Afin de pouvoir la mettre en oeuvre , nous allons l’implémenter avec Hibernate.
Télécharger Hibernate core (version 4.3.1 FINAL) . Comprenez les librairies nécessaires à Hibernate pour synchroniser vos objets en mémoire et vos enregistrements en base de données. Découvrez la documentation hibernate. Comprenez les autres modules d’hibernate ainsi que le lien entre hibernate, JPA et EJB3.])

Objis, spécialiste de la formation Java, est heureux de vous offrir ce
tutoriel, extrait de séances pratiques de la formation HIBERNATE dispensée par Objis.

Les + objis

 70% de travaux pratiques

 Clé USB avec tous les outils utilisés + Corrigés TPs

 Bilan pédagogique individuel + conseils

Prérequis, outils et versions

 aucun

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Tutoriaux HIBERNATE Objis

 Objis, spécialiste formation java depuis 2005

 Site hibernate

 JAVADOC Hibernate core 4.3.1

 FAQ hibernate

 Spécifications EJB3 (JSR-220)

Objectifs

 Maîtriser l’installation d’Hibernate Core

 Comprendre les modules d’hibernate : Annotations, Entitymanager, Tools…

 Analysez les librairies obligatoires et facultatives d’hibernate.

 Comprendre la relation entre Hibernate, JPA et EJB3

Programme

 Partie 1 : définition et historique

 Partie 2 : Avantages clés

 Partie 3 : téléchargement

 Partie 4 : analyse

Durée

 40 min.

Qui sommes-nous ?

presentation-objis-conseil-formation-java-soa2.png

Partie 1 : définition & historique

Hibernate est un framework de mapping Objet/Relationnel pour applications JAVA (et .NET avec Nhibernate). Supporté par Jboss/RedHat Hibernate vous permet de créer une couche d’accès aux données (DAO) plus modulaire, plus maintenable, plus performante qu’une couche d’accès aux données ‘classique’ reposant sur l’API JDBC ( Voir notre Tutoriel Java N°5 : accès aux données avec API JDBC4 et java 6).


La promesse d’hibernate : libérer le développeur de 95% des taches de programmation classique d’une couche d’accès aux données via JDBC
.

slide_objis_definition_historique_hibernate.png

Voici quelques atouts d’une implémentation de votre couche d’accès aux données avec JPA par rapport à du ‘jdbc pur’

Partie 2 : avantages

Avantage1 : hibernate génère le code SQL pour vous.

— Pas de requête SQL à écrire

— Pas d’Objet ResultSet à gérer : cycle récupération manuelle ResultSet + Casting de chaque ligne du resultset (type Object) vers un type d’objet métier (Ex : Employe)

— Application plus portable. S’adapte à la base de données cible

Avantage 2 : persistance transparente.

Vous pouvez faire de vos classes métiers des classes persistantes sans ajout de code tiers. C’est là une différence forte et fondamentale vis à vis de EJB2.x qui étaient utilisées dans les années de création d’Hibernate.

Cette différence n’est plus d’actualité avec les EJB3, dont les Spécifications(JSR-220) ont été écrite avec la collaboration de Gavin King et l’équipe d’Hibernate.

Avantage 3 : récupération de données optimisée.

Hibernate fournit plusieurs stratégies pour interroger la base de données. Requête SQL, langage HQL ou Api Criteria, avec des options de fetching et de mise en cache sophistiquées.

Avantage 4 : portabilité du code si changement de base de données.

Hibernate vous permet de changer de base de données cible (ex : remplacer SQL Server par PostGresql) en modifiant un minimum de paramètres de configuration (comme le Dialect).

Quand on sait que de nombreux programme codent ‘en dur’ des requêtes SQL dans le code, celui ci est souvent spécifique à une base de données…

Partie 3 : hibernate ou JPA/EJB3 Entity ?

Hibernate est un produit. JPA est une spécification. EJB3 Entity est une implémentation de la spécification JPA.

S’il est vrai que la valeur ajoutée d’hibernate a diminué avec l’avènement de la spécification JPA et son implémentation EJB3 Entity, notez qu’hibernate reste un choix privilégié pour les développeurs qui :

 n’accordent pas une priorité à la portabilité de leur développement

 souhaitent profiter des dernières fonctionnalités, non présentes dans spécifications (qui prennent beaucoup de temps à être validées dans le cadre de la Java Community Process).

Notez qu’il est possible de rendre Hibernate compatible avec la norme JPA, en combinant les modules Hibernate core, Hibernate Annotations et Hibernate EntityManager.

hib_main_module-2.png

Hibernate devient alors un véritable fournisseur JPA, au même titre que ses concurrents EJB3 Entity ou encore Toplink Essentials.

Partie 4: Téléchargement

 Allez sur le site du projet : http://hibernate.org/orm/
hibernate1

2 JSR (Java Spécification Request) sont implémentées:

— JSR 220 : implémentation de la norme EJB3

— JSR 317 : implémentation de la norme JPA

Le cœur d’Hibernate est le module Hibernate ORM. C’est celui que nous allons télécharger et analyser dans ce tutoriel. La plupart des autres modules ont besoin de celui-ci.

 Cliquez sur le lien Download 4.3.1.Final

 Le téléchargement commence

telechargement

Partie 5: Analyse

 Dézippez l’archive dans le répertoire
contenu_repertoire

 Remarquez les 3 répertoires présents :

— Répertoire documentation (doc html/pdf multilingue)

— Répertoire project (source)

— Répertoire lib : librairies complémentaires

Répertoire documentation
contenu_repertoire_documentation

Répertoire lib

contenu_repertoire_libs

ce répertoire contient 6 sous-répertoire:

 required = librairies indispensables
contenu_repertoire_libs_required

 jpa
contenu_repertoire_libs_jpa

 jpa-metamodel-generator
contenu_repertoire_libs_jpa_modelgenerator

 optional
contenu_repertoire_libs_optional

 osgi
contenu_repertoire_libs_osgi

 envers
contenu_repertoire_libs_envers

Le rôle de chaque Libaririe est disponible sur le tuto hibernate

conclusion:
Dans ce tutoriel, vous avez téléchargé et analysé Hibernate qui nous permettra de mettre en oeuvre JPA

2018-02-01T07:56:39+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java