Developpez.com - Rubrique Java

Le Club des Développeurs et IT Pro

Quelles implémentations JPA (Java Persistence API) utilisez-vous et pourquoi ?

Partagez votre expérience

Le 2012-05-03 00:25:07, par Mickael Baron, Rédacteur
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.
  Discussion forum
25 commentaires
  • natha
    Membre expert
    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.
  • Mickael Baron
    Rédacteur
    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
  • Philippe Bastiani
    Membre éprouvé
    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 !
  • John.BE
    Membre régulier
    Envoyé par Philippe Bastiani
    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 .
  • Mickael Baron
    Rédacteur
    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
  • Philippe Bastiani
    Membre éprouvé
    Envoyé par keulkeul
    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
  • threshold
    Membre actif
    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é.
  • wizaord
    Membre régulier
    Hibernate car fallait bien partir sur une implémentation au début. Et Hibernate me semble plus documenté sur Internet.
  • Heimdal
    Membre éclairé
    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.
  • _skip
    Expert éminent
    Envoyé par Heimdal
    Indifférent, nous utilisons l'implémentation du serveur JEE cible.
    Et ça marche assez bien la portabilité entre les implémentations?