18
Institut Supérieur des Etudes Technologiques de Kébili Muni projet Etude comparative entre HIBERNATE ET JPA REALISER PAR :BOUGUENNA MOUNA Ben ama ra ahlem 2012/2013 1

Institut Supérieur des Etudes Technologiques de Kébili

  • Upload
    archer

  • View
    35

  • Download
    1

Embed Size (px)

DESCRIPTION

Institut Supérieur des Etudes Technologiques de Kébili . Muni projet Etude comparative entre HIBERNATE ET JPA REALISER PAR :BOUGUENNA MOUNA Ben ama ra ahlem 2012/2013. Introduction. - PowerPoint PPT Presentation

Citation preview

Institut Suprieur des Etudes Technologiques de Kbili

Institut Suprieur des Etudes Technologiques de Kbili Muni projet

Etude comparative entre HIBERNATE ET JPA

REALISER PAR :BOUGUENNA MOUNA Ben ama ra ahlem

2012/20131Introduction

. A ce jour, la plate-forme Java est utilise par plus de 9 millions de dveloppeurs de logiciels. Elle est prsente dans tous les secteurs industriels majeurs et couvre toute une gamme de dispositifs, d'ordinateurs et de rseaux.

Grce sa flexibilit, son efficacit, la portabilit de sa plate-forme et sa scurit, la technologie Java est devenue la solution idale pour l'informatique de rseau. 22I/HIBERNATE

1/Dfinition:Hibernate est une solution open source de type ORM (Object Relational Mapping) qui permet de faciliter le dveloppement de la couche persistance d'une application.Hibernate facilite la persistence et la recherche de donnes dans une base de donnes Hibernate est trs populaire notamment cause de ses bonnes performances et de son ouverture de nombreuses bases de donnes.3 Pourquoi ajouter une couche entre l'application et la base de donnes ? L'objectif est de rduire le temps de dveloppement de l'application en liminant une grande partie du code SQL crire pour interagir avec la base de donnes et en encapsulant le code SQL rsiduel.

Les dveloppeurs manipulent les classes dont les donnes doivent tre persistantes comme des classes Java normales.42/l'architecture d'Hibernate:une vue (trs) haut niveau de l'architecture d'Hibernate

5L'architecture la plus complte abstrait l'application des APIs JDBC/JTA sous-jacentes et laisse Hibernate s'occuper des dtails.

Diagramme Architechture de Hibernate

63/Les avantages et Les inconvnients dHibernate:

Les avantages:*Hibernate gnre le code SQL ncessaire, ce qui rend l'application plus portable. *La persistance est transparente.*La rcupration de dones est optmise. Les inconvnients :*Il est dure de faire des requtes complexe avec HQL (ex: sous requtes)*Etant une technologie jeune, il rest des problmes rsoudre. *Ne se base pas sur les standards.

7II/LaJava Persistence API(JPA)

1/Dfinition:LaJava Persistence API(abrge en JPA), est uneinterface de programmationJava permettant aux dveloppeurs d'organiser desdonnes relationnellesdans des applications utilisant la plateformeJava.LAPI de persistance de Java, JPA, a deux aspects:Le premier est la possibilit dassocier des objets une base de donnes relationnelle. La configuration par exception permet aux fournisseurs de persistance de faire lessentiel du travail sans devoir ajouter beaucoup de code, mais la richesse de JPA tient galement la possibilit dadapter ces associations laide dannotations ou de descriptions XML.

8Le second aspect concerne linterrogation de ces objets une fois quils ont t associs une base. lment central de JPA, le gestionnaire dentits permet de manipuler de faon standard les instances des entits. Il fournit une API pour crer, rechercher, supprimer et synchroniser les objets avec la base de donnes.92/Les specification de JPA:

Toutes les classes et les annotations de cette API sont dans lejavax.persistencepaquet.iLes principales composantes de l'APP sont les suivantes:Toutes les classes et les annotations de cette API sont dans lejavax.persistencepaquet.iLes principales composantes de l'APP sont les suivantes:Une API gestionnaire d'entits de base de donnes pour effectuer des oprations lies, telles queCreate, Read, Update, Delete (CRUD)des oprations. Cette API vous permet d'viter d'utiliser l'API JDBC directement.

10Une API gestionnaire d'entits de base de donnes pour effectuer des oprations lies, telles queCreate, Read, Update, Delete (CRUD)des oprations. Cette API vous permet d'viter d'utiliser l'API JDBC directement.Rappel et les auditeurs pour accrocher la logique mtier dans le cycle de vie d'un objet persistant.

113/Larchitecture de JPA:Le schma ci-dessous illustre les relations entre les principales composantes de l'architecture JPA.

12Diagramme Architecture de JPA4/Les avantages et Les inconvnients de JPA: Les avantages JPA: Recherche automatique des dploye mtadonnes Code normalis de l'accs aux donnes, cycle de vie, et la capacit de Peut remplacer les annotations avec descripteur de fichier Les inconvnients JPA:Non pris en charge toutes les stratgies de succession Le fichier 'normalis' descripteur est essentiellement un wrapper autour de fournisseur

13 Absence de certains aspects bnfiques de Hibernate Plus-encore que la plupart des implmentations spcifiques au fournisseur,la tentation est l pour utiliser les fonctionnalits spcifiques au fournisseur de remplir le cart - mais alors, plus portable

14III/La diffrence entre JPA et Hibernate JPA est un cadre de gestion des donnes relationnelles dans les applications Java, tandis que Hibernate est une implmentation spcifique de la JPA (si idalement, JPA et Hibernate ne peut pas tre directement compars). En d'autres termes, Hibernate est l'un des cadres les plus populaires qui met en uvre des JPA.Hibernate implmente JPA Hibernate Annotation par EntityManager et les bibliothques qui sont mises en uvre sur le dessus des bibliothques Hibernate Core.15 La nouvelle version de JPA (JPA 2.0) est entirement pris en charge par Hibernate 3.5. D'autre part, natif Hibernate API peut tre considr comme plus puissant parce que ses caractristiques sont un sur-ensemble de celui de l'JPA.

16

1/Les composants dHIBERNATE et JPA:

JPAHIBERNATEEntity ClassesPersistent ClassesEntityManagerFactorySessionFactoryEntityManagerSessionPersistenceConfigurationEntityTransactionTransactionQueryQueryPersistence UnitHibernate Config17CONCLUSIONJava offre la possibilit relle que la plupart des programmes peuvent tre crits dans une langue de type scuris.Cependant, pour Java tre largement utile, il doit avoir plus de puissance expressive qu'elle ne le fait l'heure actuelle.

18