IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

Questions et refexion JDO ?


Sujet :

Persistance des données Java

  1. #1
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut Questions et refexion JDO ?
    Bonjour,

    Actuellement en mission et utilisateur de JDO ( que je ne connaissais pas auparavant ) j'ai quelques questions et reflexions sur le sujet.

    J'ai lu le tutorial sur le sujet : http://bmoussaud.developpez.com/tutoriel/java/jdo/

    Alors :

    Pourquoi choisir JDO ? quels en sont les avantages ?

    JDO ou hibernate ?

    JDO permet t'il de s'affranchir totalement de la modélisation de la base de données ?

    Il existe une spécification de JDO mais une pléiade d'implémentations ( JPOX, Lido, KODO, Castor JDO ...) , sont elles compatibles ?

    La technologie JDO est elle mature ?

    Merci d'avance

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Ces questions m'interesse aussi notament sur le choix de technologie.

    Quelqu'un pour eclairer nos lanternes ?

  3. #3
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    Peut être que le post n'est pas dans la bonne section ?

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    J'ai eu l'occasion de faire une analyse de JDO dernièrement. Malheureusement je n'ai pas pu personnellement faire de comparatif avec Hibernate, mais je m'étais laissé entendu dire qu'Hibernate était la meilleure option.

    Ceci dit, il faudrait creuser, car je n'ai pas vraiment d'arguments ou de points de comparaison à te proposer.

  5. #5
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Hop hop je fait remonter le post. Est-ce que quelqu'un dans le monde est capable de nous expliquer quels sont les Avantages et inconvénients de JDO par rapport à Hibernate. Et vice-versa.

    Et je rajoute une petite question : Qu'apporte le framework spring à l'utilisation de JDO et Hibernate ?

    D'après ce que j'ai pu lire la différence réside en le fait que JDO est à la base une norme pour définir la persistence des données avec abstraction de la source de données (BDR, BDO, XML ...). Alors que Hibernate est un Framework ORM.

    Les deux semblent être capable de faire la même chose (ORM et abstraction de la source). Cependant Hibernate a plus été fait pour le mapping sur BDR que sur BDO et l'implémentation BDO est plus difficile à mettre en place que JDO. Le HQL serait également de plus haut niveau que le JDOQL.

    Globalement ce que j'ai retenu est que :
    - pour un mapping BDR il vaut mieux utiliser Hibernate.
    - pour un mapping BDO il vaut mieux utiliser JDO même si Hibernate s'adapte très bien. Je pense aussi que ca dépend de la BDO mais bon je me trompe peut être.

    Ces infos sont elles fausses ? Qui peut m'éclairer ?

    Merci d'avance ^^

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Slt,
    je suis loin d'etre un expert mais je peux dire qu'hibernate a d'abord ete concu exclusivement pour faire de la persistance sur des BDR alors que JDO est une spec pour toute sorte de support de persistance , mais il me semble que depuis sa version 3 Hibernate effectue de la persistance sur differents supports .

    Ensuite j'ai utilisé JDO et hibernate (mais vraiment tres superficiellement) et la chose qui ma marqué est l'enhancement pour JDO en gros une fois ton code compiler tu dois lancer une tache qui va rajouter du code a tes POJO , alors qu'hibernate lui utilise CGLIB pour faire ca a la vollé.
    Ce qui d'apres moi fait un avantage pour Hibernate .

    Ensuite ( et surtout) Hibernate s'impose comme un standard et il seras (ou est deja??) probablement la premiere implementation de la specification EJB 3 , d'apres moi SUN va laissé tombé JDO au profit d'EJB3 , mais ce n'est que mon avis , et je le rapelle je suis neophite sur le sujet .
    A+
    UML avec VIOLET

  7. #7
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Hop hop hop je fait remonter le sujet car je n'ai pas reçu de réponse sur ce qu'apporte spring à Hibernate et je rajoute une couche.

    Est-ce que la précarité du pool de connexion d'Hibernate est très pénalisante en terme de performance ? Si oui ne peut-on pas l'améliorer à la main puisque Hibernate utilise JDBC qui gère les pools de connexion ? Quel serait le niveau d'expertise requis pour implémenter ce pool de connexion à la main si c'était possible ?

    Merci d'avance.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par n00bi
    Hop hop hop je fait remonter le sujet car je n'ai pas reçu de réponse sur ce qu'apporte spring à Hibernate et je rajoute une couche.

    Est-ce que la précarité du pool de connexion d'Hibernate est très pénalisante en terme de performance ? Si oui ne peut-on pas l'améliorer à la main puisque Hibernate utilise JDBC qui gère les pools de connexion ? Quel serait le niveau d'expertise requis pour implémenter ce pool de connexion à la main si c'était possible ?

    Merci d'avance.
    EN ce qui concerne le pool de connexion d'hibernate d'apres ce qu'ils preconisent il ne faut surtout pas l'utiliser en envieronnement de production , mais rien ne t'empeche d'en utiliser un autre DBCP (de jakarta) par exemple (qui est notament celui de tomcat)
    UML avec VIOLET

  9. #9
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Je fait remonter le topic pour informations complémentaire :

    Qu'a de plus Hibernate par rapport à JDO si ce n'est sa popularité et sa large communauté d'utilisateurs et un langage de requêtage (HQL) apparament de plus haut niveau ?

    En fait pour vous situer le contexte dans lequel je me trouve : je doit faire un choix d'une solution de mapping/persistance O/R pour une solution standalone. Je doit posséder des arguments fiables qui me permettent de dire :
    - Il vaut mieux que je choisisse JDO
    - Il vaut mieux que je choisisse un Framework (Hibernate, OJB, JPox, iBatis, TopLink ...)
    - Il vaut mieux que je choisisse les EJB3.0

    Et qu'apporte le framework Spring à tout cela ?

    J'ai vraiment l'impression qu'il y a une "gueguerre" au sein meme de Sun entre JDO et Hibernate. Qui a le plus de chance de devenir LE standard ? Je pencherai pour Hibernate mais bon les avis sont partagés. Lachez-vous svp

    Merci d'avance de vos réponses

  10. #10
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Il n'y a qu'aller sur le site de JPOX pour se rendre compte à quel point ce dernieer est meilleur qu'Hibernate.

    Mais bon ceci reste mon avis, alors pas frapper svp...


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  11. #11
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Mouais tu m'as tout l'air d'être partial. Bon alors JDO ou Hibernate ? Pourquoi ? Quelles sont les différences (a part le JDO est une spécification, Hibernate est un framework) ? Parce que les deux peuvent faire la meme chose : mapping et persistance.

    Personnellement j'ai l'impression que EJB 3.0 va être le juge de paix pour départager ces deux technologies.

  12. #12
    Membre habitué Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Points : 178
    Points
    178
    Par défaut
    Je ne vais peut être pas apporter gd chose à cette discussion mais pour avoir travailler l'an dernier sur un projet utilisant JDO (nous avions commencé avec une implémentation dont je ne me souviens plus le nom et fini avec JPOX) j'avais trouvé cette techno pas suffisamment mature, ca manquait de doc et de support (pas bcp d'utilisateurs). C'était très intéressant au niveau conceptuel mais je ne le recommenderait pas pour de la production (moi c'était un proto à la fac).
    Après ca évolue rapidement et je ne suis peut être plus "up-to-date" dc je m'en tiendrai là car je n'ai jamais utilisé Hibernate.

  13. #13
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Non ton avis apporte beaucoup. C'est vrai que j'ai constaté qu'il y avait des communautés d'utilisateurs des deux côtés. Mais celle de Hibernate semble quand même plus fournie. En plus on trouve beaucoup plus facilement de la doc Française pour Hibernate que pour JDO.

    Un argument que je donnerais en plus en faveur d'Hibernate est qu'il n'était pas un standard est l'est devenu, plébiscité par la communauté Open Source. Il a fait sa place non parce qu'il était standard mais parce qu'il était efficace.

    Un autre argument en faveur de Hibernate pour ma part est son implémentation pour .NET avec NHibernate. Je ne connais pas les spécifications de la version pour dotNet mais l'utilisation de Hibernate avec Java pourrait faciliter le portage vers C#.Net si le besoin s'en faisait sentir. On aurait déja la connaissance de la manipulation de la technologie de mapping.

    Je n'entend pas spécialement passer sur du .Net. Mais les décisions ne viennent souvent pas des programmeurs mais de leur direction (pour effet de mode ou choix stratégique).

    Maintenant c'est vrai que les deux technologies (JDO et Hibernate) en sont plus ou moins au même point. Et je ne sais vraiment pas laquelle des deux choisir. J'ai besoin de vos arguments et retours d'expérience plus que jamais.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Dans la livre Hibernate 3 d'Anthony patricio (je crois) , il dit qu'il est fort probable que SUN ne fasse plus evoluer JDO pour se concentrer sur EJB 3 dont Hibernate seras l'une des premiere implementation .

    Alors j'imagine qu'anthony patricio est un peu parti pris, mais bon sachant que EJB 3 inclu le mapping OR, pourquoi continuer a maintenir JDO ???
    UML avec VIOLET

  15. #15
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Donc si je résume la situation :

    Avantage de Hibernate par rapport à JDO:

    - Hibernate est un framework OpenSource. JDO est une spécification gratuite qui connaît des implémentations OpenSource.

    - Le HQL est plus une meilleure adaptation du SQL que le JDOQL

    - Hibernate connaît une plus grosse communauté que JDO

    - Hibernate a été choisit pour servir de base de développement pour la persistance des EJB 3.0

    - Hibernate offre une voix de sortie facilitée aux développeurs qui voudraient se tourner vers du dotNet (via NHibernate).

    C'est ce que je retiens. Qui confirme ? Qui infirme ?

    Merci de laisser vos avis

  16. #16
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    surtout, JDO n'a jamais vraiment demarré, et les implementations actuelles sont en train de se tourner vers EJB3. donc... tu peux lire www.application-servers.com dont certains commentaires sont assez proches de ce que je pense.

    pour hibernate NHibernate, je ne pense pas. hibernate est en version3 et Nhibernate pour le moment c'est du hibernate2 qui a quand meme pas mal de difference.

  17. #17
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Oui mais EJB n'est pas adapté pour une application standalone alors qu'hibernate l'est.

    En ce qui concerne Hibernate et NHibernate, je pense que bien qu'il y ait des différences entre les deux, la passage de Hibernate vers NHibernate doit se faire plus facilement que JDO vers un techno de mapping pour dotNet.

    Est-ce qu'on va passer d'un duel JDO / Hibernate à un duel Hibernate / EJB 3.0 ? Ou bien à une collaboration Hibernate EJB 3.0 ?

Discussions similaires

  1. Question JDO et peut-être JPA - migration
    Par pierre++ dans le forum Persistance des données
    Réponses: 0
    Dernier message: 28/08/2009, 14h44
  2. Questions générales sur JDO (Kodo) et eclipse
    Par Yomhgui dans le forum Persistance des données
    Réponses: 0
    Dernier message: 03/09/2008, 16h58
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo