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

Hibernate Java Discussion :

[Hibernate] Est ce que j'ai bien compris? [FAQ]


Sujet :

Hibernate Java

  1. #1
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut [Hibernate] Est ce que j'ai bien compris?


    j'ai fait une lecture d'une 60aine de page pour comprendre ce qu'est hibernate et comment ca marche ,
    en résumant j'en arrive a ceci:

    Hibernate est un framework qui permet de manipuler facilement les données et d'assurer ler persistance.
    Il s'agit d'un outil ORM, qui correspond a une couche entre l'application et la BD.
    Il réduit le temps de développement de l'application en éliminant une partie du code SQL a écrire pour interagir avec la BD, le code SQL résiduel étant donc encapsuler.

    Pour utiliser Hibernate , il faut:

    Ajouter dans les chemins de compil et d'éxe du projet les librairies nécéssaire a Hibernate (hibernate2.jar etc..) , et le driver de la BD
    Placer les fichiers de configuration (configurer hibernate.cfg.xml)
    Configurer la connexion a la BD dans un fichier hibernate.properties

    On peut alors définir un fichier mapping pour chaque objet persistant.
    Ces derniers sont défini par des classes java et doivent etre POJO c'est a dire que dans ces classes:
    chaque attribut doit avoir les getter/setter, un constructeur par défault, et l'identifiant de la classe doit avoir un certain type (je rentre pas dans les détails..)
    Dans ce fihier mapping , on doit retrouver les différentes relations entre les POJO, il en existe plusieurs:
    relation one-to-one
    relation héritage
    relation many-to-one
    relation many-to-many
    component mapping
    mapping de collections

    Une fois, la génération de la BD effectué (a partir des fichiers mapping par une ligne de commande ), on peut manipuler les données.
    Pour cela il faut créer une session factory, pour ensuite créer une session de celle ci et on peut alors définir des transactions et manipuler les données.
    On peut aussi questionner la BD , pour cela il y a 3 langage de questionnement supporté par hibernate : HQL étant le conseillé, criteria queries, et Native queries.
    On peut aussi choisir le mode de controle de la concurrence entre les accès a la BD.
    soit optimistic control consurrency: c'est hibernate lui meme qui gère les accés a la BD
    soit Pessimistic Locking: c'est l'utilisateur qui gère les accés


    Alors Questions:
    -Est ce que j'ai bien compris , si je me trompes quelque part rectifiez moi svp

    -J'ai compris qu'on peut faire des applications J2EE avec hibernate, dans ce cas les entity bean sont remplacés par des POJO , alors ca veut dire que pour une appli J2EE en hibernate plus besoin d'interface remoteHome, remote, Local, LocalHome.., une classe POJO suffit , est ce qu'on peut m'éclairer sur ce sujet je comprend pas trés bien, pourquoi se taper des EJB alors qu'on peut passer par hibernate qui semble etre bien plus simple?

    -Sous eclipse, pour utiliser hibernate, il faut
    Dans oracle, Mysql ou autre, on doit
    définir une BD et des tables dans celle-ci
    puis on définit une nouvelle connexion avec définition des accés aux BD et autorisations,
    et dans eclipse:
    installez J2SE 1.4 sdk
    installez le plugin hibernate synchronizer
    creer un nouveau projet et un rep lib dedans et y mettre hibernate2.jar et jtds.. et d'autres packages indispensables a hibernate..
    on ajoute alors au classpath les librairies défini dans lib

    on peut alors commencer l'appli hibernate ,
    -on crée un hibernate conf file, dans lequel on défini le type de database, le driver,l'utilisateur, et son mot de passe pour la connexion
    -on crée le fichier de mapping, pas besoin de le remplir en fait c'est une génération, il est déjà rempli quoique pas conforme a la dtd d'aprés ce que j'ai compris(ou est donc l'interet si on doit se le retaper )
    -tous les fichiers mapping sont générés on peut alors testes l'appli,on cree un file dans notre projet, et dedans on fait la création de la sessionFactory etc.., on manipule les données...

    Comment ca se passe dans les autres IDE, en particulier WSAD, RSA..
    Aussi a aucun moment il n'est question des fichiers POJO, sont ils générés automatiquement, ou on a juste besoin des fichiers mapping ?
    Pourquoi eclipse génere un fichier mapping s'il ne colle pas a la syntaxe hibernate ?

    pourquoi utiliser XDoclet avec eclipse si eclipse génére déjà automatiquement les fichiers, vous me direz c'est peut etre parceque ca marche pas bien du tout..

    Dernière question :
    On parle de bataille entre EJB 3 et hibernate, pour EJB3 on aurait un nouveau modèle de persistance les POJO (tiens tiens ..), les pro-EJB parle de se débarasser d'hibernate maintenant que les EJB vont etre moins complexe , et les pro-Hibernate disent que Hibernate 3 permet de faire des trucs super que EJB3 ne permettra pas et blblba donc votre avis sur la question ..

    C'est un peu long comme post désolé


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
    Faites moi confiance... je suis un membre éclairé

  2. #2
    Membre régulier Avatar de Buch'
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 73
    Points
    73
    Par défaut
    long mais très interessant, j'ai hate de voir les réactions

  3. #3
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    1) Oui ca me semble juste
    2) Oui tu peux remplacer les EJB par Hibernate, cependant la couche hibernate tourne dans la même JVM que la couche métier (disons dans le cas le plus courant) et donc tu n'as pas les possibilités de montée en charge en démultipliant les serveurs d'applications par exemple un serveur métier et 4 serveur faisant les query à la DB (c'est un exemple). Mais je dois dire pour utiliser hibernate en prod sur de gros projet ne jamais avoir eu de probleme de perf. Dans le pire des cas je fais le SQL moi même en passant par le mécanisme de pooling integré.
    3) regardes myEclipse ou le jboss ils ont des outils puissants aussi
    4)
    5)Ca se passe bien merci de le demander
    6)Si tu n'as pas de plugin et surtout si tu n'utilises pas Hibernate 3 qui peut utiliser les possibilités d'annotations de Java 5.0. L'avantage des annotations est de pas avoir de séparation entre XML et Java c'est plus simple pour la relecture et la compréhension après coups
    7)Hibernate 3.0 est une implementation des EJB3.0 enfin a terme.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  4. #4
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par ze_key
    2) Oui tu peux remplacer les EJB par Hibernate, cependant la couche hibernate tourne dans la même JVM que la couche métier (disons dans le cas le plus courant) et donc tu n'as pas les possibilités de montée en charge en démultipliant les serveurs d'applications par exemple un serveur métier et 4 serveur faisant les query à la DB (c'est un exemple). Mais je dois dire pour utiliser hibernate en prod sur de gros projet ne jamais avoir eu de probleme de perf. Dans le pire des cas je fais le SQL moi même en passant par le mécanisme de pooling integré.
    Dans ce cas tu veus dire qu'on peut survivre aussi bien avec hibernate qu'avec EJB , mais pourquoi autant d'EJB alors ?

    Citation Envoyé par ze_key
    5)Ca se passe bien merci de le demander
    Je voulais dire comment on utilise Hibernate dans d'autres IDE, lien si vous en avez ou explication direct..

    Citation Envoyé par ze_key
    6)Si tu n'as pas de plugin et surtout si tu n'utilises pas Hibernate 3 qui peut utiliser les possibilités d'annotations de Java 5.0. L'avantage des annotations est de pas avoir de séparation entre XML et Java c'est plus simple pour la relecture et la compréhension après coups
    Dans l'utilisation d'eclipse que j'ai donné plus haut je dis que je ne comprend pas qu'a aucun moment on ne me parle du code java du POJO , il est généré ,ou je le tape, et ensuite je peus utilisé Xdoclet ou bien

    Citation Envoyé par ze_key
    7)Hibernate 3.0 est une implementation des EJB3.0 enfin a terme.
    ca veut dire quoi ca exactement? EJB3 permet de faire tout ce que hibernate 3 fait ?

    En tout cas merci pour les réponses
    Faites moi confiance... je suis un membre éclairé

  5. #5
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Citation Envoyé par questionneuse
    Dans ce cas tu veus dire qu'on peut survivre aussi bien avec hibernate qu'avec EJB , mais pourquoi autant d'EJB alors ?

    Je voulais dire comment on utilise Hibernate dans d'autres IDE, lien si vous en avez ou explication direct..

    Dans l'utilisation d'eclipse que j'ai donné plus haut je dis que je ne comprend pas qu'a aucun moment on ne me parle du code java du POJO , il est généré ,ou je le tape, et ensuite je peus utilisé Xdoclet ou bien

    ca veut dire quoi ca exactement? EJB3 permet de faire tout ce que hibernate 3 fait ?

    1) Oui survivre tu peux avec tout, autant d'EJB ben parce qu'avant il y avait ni hibernate ni iBatis donc il a bien fallu commencer et maintenant continuer.

    2) Il existe aussi des plugins pour WSAD (de fait) et netbeans pour les autres (intelle-J) je sais pas

    3) les .java sont générés par XDoclet ou par les plugins ou par le tool de JBOSS

    4) Oui Hibernate 3 donne un serveur d'app comme JBOSS fait aussi EJB moyennant bcp moins de souffrance qu'avant puisque la norme EJB 3.0 a été simplifié.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  6. #6
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut Re: hibernate: Est ce que j'ai bien compris?
    Citation Envoyé par questionneuse
    Dernière question :
    On parle de bataille entre EJB 3 et hibernate, pour EJB3 on aurait un nouveau modèle de persistance les POJO (tiens tiens ..), les pro-EJB parle de se débarasser d'hibernate maintenant que les EJB vont etre moins complexe , et les pro-Hibernate disent que Hibernate 3 permet de faire des trucs super que EJB3 ne permettra pas et blblba donc votre avis sur la question ..
    On peut comparer la partie persistence de EJB 3 (qui devrait évoluer à terme sous sa propre appellation) et Hibernate, pas avec les EJB 3 globalement qui est également un modèle de composants distribués.

    Et même dans ce cas, les 2 ne s'opposent pas, Hibernate 3 sera une implémentation du standard EJB 3, pas un concurrent. Par exemple, JBoss utilisera Hibernate comme implémentation alors que GlassFish (AS Open Source Sun) utilise TopLink.

  7. #7
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    En fait il y a une question à laquelle je n'arrive pas à trouver la réponse.
    est ce que les plugin qui marche sur eclipse pour hibernate marche pour RSA.
    Ou bien pour RSA, il y en a des différents, des meilleurs.
    Par exemple est ce que Hibernate Synchronizer marche aussi sur RSA..

    Si quelqu'un a des documents sur la question ou bien en sait quelquechose...
    Faites moi confiance... je suis un membre éclairé

  8. #8
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    RSA ? C'est quoi ca ?
    Je cconnais bien l'algo de ryptage mais je vois pas le rapport.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  9. #9
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    Lool, c'est Rationnal software application (IDE d'ibm) tu connais pas?

    va voir ici http://www.developpez.net/forums/viewtopic.php?t=300390
    Faites moi confiance... je suis un membre éclairé

  10. #10
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    ok c'est basé sur eclipse donc le mecanisme de plugin doit fonctionner.
    Si je devais connaitre tout les produit IBM je serai devenu fou de plus longtemps. Au rythme ou ils achetent des boites ceux la.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  11. #11
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par ze_key
    ok c'est basé sur eclipse donc le mecanisme de plugin doit fonctionner.
    es tu sure de ca, en meme temps je voudrai bien savoir si il n'y a pas de meilleur plugin pour hibernate sur rsa, peut être que non sinon tu en aurais entendu parler non??
    Faites moi confiance... je suis un membre éclairé

  12. #12
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Non je travaille sur eclipse donc rsa....
    Moi j'utilise MyEclipse sous....eclipse c'est un plugin excellent pour un tas de truc et entre autre pour hibernate.
    Mais il existe egalement les Hibernate Tools for Eclipse de JBOSS qui assure le dev d'hibernate.
    Et enfin je t'invite à jeter un coup d'oeil a middlegen toujours chez JBOSS.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  13. #13
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    C'est quoi exactement middlegen? un plugin pour eclipse compatible avec JBoss?
    Faites moi confiance... je suis un membre éclairé

  14. #14
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    middlegen c'est un outil qui fait du reverse engineering de ta DB en fichiers hibernate. Je crois que c'est une appli java indépendante d'eclipse. Moi je l'utilisais lorsque c'etait une application en ligne de commande.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  15. #15
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    bonjour,

    je voudrais tester des plugin pour hibernate sur eclipse mais je trouve pas de tutoriaux,ni de site update pour installer les plugin.
    Et en plus le site pour hibernate synchronizer déconne http://www.binamics.com/hibernatesync donc si quelqu'un a des liens et des tutoriaux ...
    Faites moi confiance... je suis un membre éclairé

  16. #16
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    J'ai testé recemment hibernator et ca marche pas mal
    [ul]http://hibernator.sourceforge.net/[/url]
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  17. #17
    Membre habitué Avatar de questionneuse
    Inscrit en
    Décembre 2005
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 319
    Points : 127
    Points
    127
    Par défaut
    dis moi j'ai vérifié les tuto de myeclipse:

    Soit on choisit d'écrire le POJO et d'écrire les mappings a la main soit on ecrit les POJO et on utilise l'outil Xdoclet qui est intégré dans myeclipse qui va nous permettre de généré les mappings.
    Soit on choist de générer les pojo et les mappings avec l'explorer database; une fois qu'on a fait le lien avec le driver dans le fchier conf on peut choisir une table dans la base et l'exporter dans le projet hibernate ce qui revient a générer dans le projet le pojo et le fichier mapping correspondant..
    une fois le tout génerer on fait un client java pour tester comme pour hibernate synchronizer..

    Est ce correct ou pas?

    Est ce que hibernator est un vieux plugin?

    qu'est ce qu'il permet de faire en plus par rapport a myeclipse?

    Quels sont les meilleur plugin sous eclipse, qu'est ce qu'ils permettent de faire en plus?

    Et puis tu connais pas aussi l'url d'update pour le plugin nitrox?
    Faites moi confiance... je suis un membre éclairé

  18. #18
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Citation Envoyé par questionneuse
    Est ce correct ou pas?
    oui mais perso, je n'ai que très rarement besoin d'intervenir sur les pojos et le mapping généré.

    Citation Envoyé par questionneuse
    Est ce que hibernator est un vieux plugin?
    vieux ? je ne sais pas ca fait un bout de temps que c'est existe

    Citation Envoyé par questionneuse
    qu'est ce qu'il permet de faire en plus par rapport a myeclipse?
    il est gratuit contrairement a myeclipse. Mais myeclipse apporte vraiment bcp de choses (JSP completion & debug, UML, xml, ...)

    Citation Envoyé par questionneuse
    Quels sont les meilleur plugin sous eclipse, qu'est ce qu'ils permettent de faire en plus?
    Perso j'ai pris une licence myEclipse c'est 30 ou 40$ par an et tu as tout en un sans t'emmerder. Parce que desfois les plugin peuvent pas se sentir entre eux.

    Citation Envoyé par questionneuse
    Et puis tu connais pas aussi l'url d'update pour le plugin nitrox?
    non
    Steve Hostettler
    est ton ami(e) et le tag aussi.

Discussions similaires

  1. [AC-2007] est-ce que j'ai bien sécurisé ma base ACCESS 2007
    Par eli-stein dans le forum Sécurité
    Réponses: 9
    Dernier message: 14/04/2010, 11h45
  2. replace est ce que j'ai bien compris ?
    Par wehtam dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/08/2007, 16h42
  3. [frame]est ce que s'est bien fait ?
    Par paterson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/08/2006, 17h37
  4. [Système] Est ce que je fais bien
    Par hisy dans le forum Langage
    Réponses: 1
    Dernier message: 13/12/2005, 10h20
  5. [AJAX] est-ce que c'est bien et fiable
    Par hansaplast dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 18/11/2005, 14h44

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