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

Affichage des résultats du sondage: Quelles implémentations JPA utilisez-vous ?

Votants
85. Vous ne pouvez pas participer à ce sondage.
Sondage à choix multiple
JPA Java Discussion :

Quelles implémentations JPA utilisez-vous et pourquoi ? partagez votre expérience


Sujet :

JPA Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut Quelles implémentations JPA utilisez-vous et pourquoi ? partagez votre expérience
    La spécification JPA (Java Persistence API) décrit comment mapper des objets Java avec une base de données relationnelle.

    Différentes implémentations existent pour cette spécification et sans être exhaustif les plus connues sont


    Quelle(s) implémentation(s) utilisez-vous actuellement ? Partagez également votre expérience.

  2. #2
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    J'ai voté Hibernate puisque je l'utilise bien avant que la spécification JPA apparaisse.

    J'ai déjà joué avec Toplink (maintenant EclipseLink).

    A noter qu'il m'arrive d'utiliser des annotations spécifiques aux implémentations.

    Mickael

  3. #3
    Membre éprouvé

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Points : 1 230
    Points
    1 230
    Par défaut
    Pourquoi Spring Data JPA dans cette liste ? L'utilisation de Spring Data facilite l'écriture des DAO mais ne permet pas de s'affranchir d'une implémentation JPA !

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2012
    Messages : 133
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par Philippe Bastiani Voir le message
    Pourquoi Spring Data JPA dans cette liste ? L'utilisation de Spring Data facilite l'écriture des DAO mais ne permet pas de s'affranchir d'une implémentation JPA !
    eh pas sûr :/

    J'ai voté Hibernate et EclipseLink.

    J'ai commencé aussi sou Hibernate avant JPA .

  5. #5
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    Pourquoi Spring Data JPA dans cette liste ? L'utilisation de Spring Data facilite l'écriture des DAO mais ne permet pas de s'affranchir d'une implémentation JPA !
    En effet, je crois que tu as raison. Je viens de regarder un peu plus dans les détails et il faut explicitement donner l'implémentation.

    Je vais donc modifier le sondage

    Merci

    Mickael

  6. #6
    Membre éprouvé

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Points : 1 230
    Points
    1 230
    Par défaut
    Citation Envoyé par keulkeul Voir le message
    En effet, je crois que tu as raison. Je viens de regarder un peu plus dans les détails et il faut explicitement donner l'implémentation.

    Je vais donc modifier le sondage

    Merci

    Mickael
    Perso, pour mes projets persos & professionnels j'utilise EclipseLink avec la surcouche Spring ou SpringData ! Ce dernier à l'avantage de formaliser les accès DAOs pour 90% des cas d'utilisations...

    Pourquoi utiliser EclipseLink ?: le couple: implémentation de référence pour JPA + licence!

    cdlt,
    Philippe

  7. #7
    Membre actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Points : 281
    Points
    281
    Par défaut
    Selon la version de JPA.

    JPA 1 Hibernate, JPA 2 EclipseLink.
    J'ai migré vers EclipseLink pour sa simplicité dans les cas "avancés" contrairement à Hibernate que je trouvais plus compliqué.

  8. #8
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Points : 73
    Points
    73
    Par défaut
    Hibernate car fallait bien partir sur une implémentation au début. Et Hibernate me semble plus documenté sur Internet.

  9. #9
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    J'utilise Hibernate. La raison ? A défaut d'autre chose... je ne connais les autres que de nom et Hibernate est l'implémentation "imposée" dans mon service.

    Par contre j'évite d'utiliser l'implémentation. Tout est JPA. Je viens de découvrir Spring-Data et QueryDSL et ça a bien plus de valeur ajoutée.

  10. #10
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Indifférent, nous utilisons l'implémentation du serveur JEE cible.

    En cas de conteneur de servlets ou appli stand-alone, nous nous tournons vers Hibernate pour des raisons historiques.

  11. #11
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par Heimdal Voir le message
    Indifférent, nous utilisons l'implémentation du serveur JEE cible.
    Et ça marche assez bien la portabilité entre les implémentations?

  12. #12
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    J'avais constaté une différence au niveau des paramètres nommés des requetes natives.
    J'utilisais avec Hibernate les : (:maVariable) alors qu'avec EclipseLink, il lui faut # (#maVariable).

  13. #13
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Personnellement j'utilise EclipseLink en tant que "référence" et pour sa simplicité. Hibernate offre pas mal de choses intéressantes, mais peut cacher des boîtes noires quand on ne le connait pas assez.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 48
    Points : 64
    Points
    64
    Par défaut
    Hibernate pour des raisons historiques avant tout.
    L'avantage d'Hibernate est également une documentation très étoffée, notamment sur les forums.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 29
    Points
    29
    Par défaut Eclipse link
    J'utilise EclipseLink depuis un bout de temps et j'en suis très satisfait
    Je suis en train de tester la version 2.4 avec le driver MongoDB

  16. #16
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'avais fait un proto réalisé avec Mongo et Morphia, plutôt satisfaisant sur la simplicité.

    Mais Morphia restant en v 0.99 depuis bientôt 1 an, et sans grande activité, je vais peut être me tourner vers EclipseLink (les quelques exemples se rapprochent de morphia en terme de simplicité).

    A tester néanmoins avant de changer pour ElipseLink : les recherches géospatiales et autres subtilités natives de mongo, et la performance comparé à morphia.

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    L'intérêt de JPA est de s'affranchir de l'implémentation... donc, syntax error pour moi

    J'utilise l'implémentation liée au serveur d'application cible...
    Hibernate sur JBoss
    EclipseLink (il me semble) pour GlassFish

  18. #18
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 948
    Points
    72 948
    Par défaut
    J'avais fait un proto réalisé avec Mongo et Morphia, plutôt satisfaisant sur la simplicité.
    En fait tu souhaitais utilisait JPA pour un univers NoSQL ? J'ai remarqué que dans la prochaine version d'EclipseLink il y avait des annotations spécifiques pour le NoSQL. A noter qu'HibernateOGM se veut aussi un ORM pour le NoSQL.

    Mickael

  19. #19
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Et ça marche assez bien la portabilité entre les implémentations?
    Je n'ai pas encore de retour pour OpenJPA qui est l’implémentation standard de Websphere et Weblo. Je devrais avoir des réponses dans les prochains mois avec un nouveau projet WAS 8.

    En ce qui concerne Hibernate/EclipseLink, je n'ai pas clairement testé la portabilité (SSII oblige, on vise une seule cible), mais lors de l'implémentation je n'ai pas en tête avoir été confronté à des comportements différents. Bien entendu j'invite les développeurs a rester sur jpql/Criteria API et javax.persistence de partout.
    Dans le cas contraire, la portabilité en prend forcement un coup.

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Heimdal Voir le message
    ...
    Bien entendu j'invite les développeurs a rester sur jpql/Criteria API et javax.persistence de partout.
    Dans le cas contraire, la portabilité en prend forcement un coup.
    Clairement...

    Je trouve ça assez naze d'ailleurs d'utiliser des annotations et/ou des instructions propriétaires dans ce contexte...
    Même s'il faut reconnaître qu'il manque des petites choses qui seraient bien pratiques et des anomalies (peut-être liées à l'implémentation d'ailleurs)... j'en ai découvert une hier...

Discussions similaires

  1. Utilisez-vous Grails ? Venez partager votre expérience
    Par Mickael Baron dans le forum Grails
    Réponses: 9
    Dernier message: 11/10/2017, 14h49
  2. Quel framework PHP utilisez-vous et pourquoi ?
    Par Lana.Bauer dans le forum Bibliothèques et frameworks
    Réponses: 194
    Dernier message: 04/02/2014, 14h33
  3. Quelles solutions open source utilisez-vous et pourquoi ?
    Par Hinault Romaric dans le forum Logiciels Libres & Open Source
    Réponses: 11
    Dernier message: 28/11/2013, 12h45
  4. Réponses: 1
    Dernier message: 03/09/2012, 14h17
  5. JTreeTable et quelle API Swing utilisez vous?
    Par azerr dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 08/10/2007, 11h44

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