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

JPA Java Discussion :

JPA/Hibernate/Spring sans Java EE ?


Sujet :

JPA Java

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut JPA/Hibernate/Spring sans Java EE ?
    Bonjour,

    je souhaite savoir s'il existe une implémentation de JPA sans Java EE ? Mes clients n'ont que Java SE et ne veulent pas installer un Java EE. Avant de leur dire qu'ils doivent malgré tout, je voudrais voir s'il est possible de partir de l'existant chez eux. De même Hibernate et Spring fonctionnent-ils uniquement avec le JRE 6 ? Apparemment Hibernate le peut, mais toutes ses fonctionnalités sont là ?

    Merci à ceux qui répondront

  2. #2
    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
    Spring et Hibernate ne nécessitent pas Java 1.6.
    Je pense que si tu veux toutes les fonctionnalités, une 1.5 doit suffire.

    Quand tu dis JPA sans Java EE, tu veux dire se passer d'un serveur d'application ?
    Si c'est le cas, la théorie dit oui.

    Pour ma part, je n'ai pas testé, j'en suis resté à une application Hibernate/Spring
    avec un rendu Swing.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Non, je dis bien "sans Java EE". Sur leurs machines, ils ont Java SE 6 et désirent si possible garder cette version. Je demande simplement si c'est possible d'avoir accès à JPA sans être forcé d'utiliser Java EE 6. En gros, un jar contenant simplement JPA existe-t-il ?

    Ca m'ennuierait réellement de faire leur application sans Java EE, mais le client est roi Si c'est pas possible, tant pis, hein. Je ferai selon ma manière, avec Java EE : ma démarche ici est un acquis de conscience

  4. #4
    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
    Non, je dis bien "sans Java EE"
    Ca ne veut pas dire grand chose, dans le sens où Java EE est une spécification qui nécessite une implémentation fournie souvent par un serveur d'application.
    Donc dans la pratique, on installe pas Java EE sur sa machine comme on le ferait avec Java SE.

    Donc pour répondre à ta question, il te suffit de récupérer les Jars de l'implémentation de Jpa qui t'intéresse et le tour est joué.

    Pour bien comprendre, c'est une application lourde, qu'ils veulent ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Ok, merci Si je résume, je trouve JBoss (ou un autre), je prends le jar de JPA et ses dépendances et le tour est joué, c'est bien ça ? Je croyais que Java EE était un jar complet (comme rt.jar pour Java SE) et qu'en fonction, on pouvait trouver d'autres implémentations, comme JBoss, Weblogic, etc. J'ai jamais installé ces choses : seulement utilisées ^^ Là, je voudrais malgré tout les avoir à disposition. C'est donc tout bon.

    C'est une application en deux machines. L'un étant uniquement un serveur PostGreSQL accessible 2h / jour, l'autre étant la machine client lourd. Il n'y aura qu'une seule machine cliente, sur laquelle leurs employés iront faire une partie de leur travail (en gros, ils prennent l'info, la mettent à jour et quittent le poste). J'utilise la persistance pour éviter un max les requêtes entre le serveur de BDD et ne faire des updates qu'en fin de journée. J'aime pas du tout l'architecture imposée, mais bon, je fais au mieux. Leur machine cliente n'a pour le moment que Java SE 6 (et leurs autres applications), et ils ne veulent rien d'autre (pas de serveur d'application, rien).

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Oui, j'ai déjà utilisé Hibernate et Spring sans serveurs d'applications (dans une application console) avec juste le JDK standard et les deux bibliothèques hibernate et spring.
    Je ne répondrai à aucune question technique en privé

  7. #7
    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
    Voilà les dépendances maven 2 que j'ai utilisées pour un projet EJB3 qui utilise JPA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>ejb</artifactId>
                <version>3.0</version>
                <scope>provided</scope>
            </dependency>
     
            <dependency>
                <groupId>jboss</groupId>
                <artifactId>jboss-j2ee</artifactId>
                <version>4.0.2</version>
                <scope>provided</scope>
            </dependency>
     
            <dependency>
                <groupId>jboss</groupId>
                <artifactId>jbossall-client</artifactId>
                <version>3.2.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jboss</groupId>
                <artifactId>jboss-ejb3x</artifactId>
                <version>1.0.0</version>
                <scope>provided</scope>
            </dependency>
    En gros, si tu ne connais pas Maven, le jar correspond à l'artifactId de chaque dependency.
    Là, il y a tout JPA + EJB3, tu n'auras peut-être pas besoin de tout.

    Je me demande cependant s'il est possible d'utiliser JPA directement sans EJB3.

  8. #8
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Je me demande cependant s'il est possible d'utiliser JPA directement sans EJB3.

    Absolument, c'est justemùent pourquoi on a fait JPA dès l'origine

    Sinon, pour ce qui est des implémentations JPA, y'a Toplink Essentials (Basé& sur Oracle Toplink), Hibernate, Apache OpenJPA, JPox, etc. tous ceux-ci sont gratuits et Opensource.

    Mais faut te prévénir: dans un environnement non managé (Java SE), JPA mais surtout Spring perdent un peu de leur puissance ...
    En fait, tout dépend de l'appli à dévlopper bien sûr.

  9. #9
    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
    Ok, ça me semblait logique mais comme je n'avais testé qu'à partir d'un stateless via injection de la persitence unit, je n'étais pas certain.

    dans un environnement non managé (Java SE), JPA mais surtout Spring perdent un peu de leur puissance ...
    Je suis moyennement d'accord sur ce point. Spring m'est très utile pour mon appli Swing/Hibernate/Spring.
    Pas besoin d'un conteneur pour profiter de ses qualités.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    En fait, vu l'architecture, je dois tout bufferiser en attendant d'envoyer les requêtes en groupe le soir (y'en a pas tellement, je rassure). Mais le client doit pouvoir faire des requêtes tant sur ce qui est connu à la BDD, que ce qui est ajouté en journée, d'où l'intérêt de la persistance. Je backupe le tout en sérialisation fichier en cas de coupure de courant.

    Par contre, j'ignorais que Hibernate implémentait JPA. Ca me fait une épine en moins du pied.

    En tous cas, merci de vos réponses, je crois que tout est clair, maintenant

  11. #11
    Membre actif
    Profil pro
    Developpeur
    Inscrit en
    Avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Avril 2004
    Messages : 160
    Points : 212
    Points
    212
    Par défaut
    Citation Envoyé par dingoth Voir le message
    Par contre, j'ignorais que Hibernate implémentait JPA. Ca me fait une épine en moins du pied.
    voilà les implémentations principales,open source, de JPA:

    - Hibernate geré par Redhat
    - openJPA geré par la fondation Apache
    - Toplink Essentials devenu EclipseLink géré par la fondation Eclipse
    - sans oublié biensûre les EJB3 (dépond du serveur d'application).

Discussions similaires

  1. Réponses: 12
    Dernier message: 11/05/2009, 14h51
  2. Problème d'utilisation JPA+Hibernate+Spring + DB2
    Par menzlitsh dans le forum JPA
    Réponses: 9
    Dernier message: 27/02/2009, 11h19
  3. [Data] [SPRING 2.5][JPA][Hibernate] Rollback
    Par hkefi dans le forum Spring
    Réponses: 8
    Dernier message: 30/12/2008, 15h15
  4. Réponses: 1
    Dernier message: 23/01/2008, 10h12
  5. [Data] Spring + JPA (hibernate) + Tomcat
    Par balteo dans le forum Spring
    Réponses: 1
    Dernier message: 19/11/2007, 11h06

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