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

Tomcat et TomEE Java Discussion :

Tomcat + JPA (javax.persistence)


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Par défaut Tomcat + JPA (javax.persistence)
    Bonjour,

    J'ai testé la nouvelle API de persistence (javax.persistence) avec un code source niveau j2EE 5 + Sun Application Server, et tout se passe bien.

    Cependant, pour faire plus léger, j'ai vu qu'on pouvait utiliser JPA dans tomcat 5.5 ! Il suffisait de (dans NetBeans) :

    - Décocher l'option "source niveau 1.4" dans les propriétés du projet.
    - Passer le code en niveau "1.5" (pour supporter les annotations du style "@Entity", "@PersistenceUnit", etc. )
    - d'importer la libraire "TopLink Essentials" dans le projet web.

    Cependant, contrairement à ce qui se passe avec le serveur d'application, j'obtiens cette erreur sur ce code :

    Je déclare :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    @PersistenceUnit
    private EntityManagerFactory emf ;
     
    @PersistenceContext
    private EntityManager em ;
     
    //.... dans le code :
    em = emf.createEntityManager();
    L'erreur est : "NullPointerException".
    Il semble que dans le cas d'un serveur J2EE 5, la variable "emf" (EntityManagerFactory) est créée par "injection", ce qui ne se produit pas dans Tomcat.

    Que se passe-t-il ?

  2. #2
    Membre confirmé Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Par défaut
    Peut-être posté trop vite ?

    J'ai trouvé ceci :

    http://bderzhavets.blogspot.com/2006...-tomcat-5.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
      EntityManager  em = emf.createEntityManager();
    Je n'ai pas eu l'occasion de le tester... on verra bien...

  3. #3
    Membre expérimenté Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Par défaut
    Oui, tu n'as pas l'injection de resource dans un container servlet 2.4! Tu devras chercher ton EntityManager toi-même...
    Alex

  4. #4
    Membre confirmé Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Par défaut
    Citation Envoyé par a.snaps
    Oui, tu n'as pas l'injection de resource dans un container servlet 2.4! Tu devras chercher ton EntityManager toi-même...
    Alex
    Merci pour ta réponse. Le code écrit pour Tomcat marchera pour J2EE 5.0, et pas l'inverse, donc ?

  5. #5
    Membre expérimenté Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Par défaut
    Citation Envoyé par balmeyer
    Merci pour ta réponse. Le code écrit pour Tomcat marchera pour J2EE 5.0, et pas l'inverse, donc ?
    Hmmm...?!
    Le code écrit pour un environnement JavaEE 5 et qui se repose sur ce dernier pour l'injection de resources, n'aura pas resource injectée automagiquement dans un environnement J2EE 1.4.
    Alex

  6. #6
    Membre confirmé Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Par défaut
    Citation Envoyé par a.snaps
    Hmmm...?!
    Le code écrit pour un environnement JavaEE 5 et qui se repose sur ce dernier pour l'injection de resources, n'aura pas resource injectée automagiquement dans un environnement J2EE 1.4.
    Alex
    Oui donc, si tu écris un code qui fait explicitement le chargement des ressources, celà marchera a fortiori sur JavaEE 5 ?

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/05/2011, 10h27
  2. Réponses: 1
    Dernier message: 04/05/2009, 14h02
  3. [débutant] Ou trouver javax.persistence
    Par kimlee dans le forum JPA
    Réponses: 3
    Dernier message: 12/02/2008, 18h20
  4. javax.persistence et openjpa
    Par RouRa22 dans le forum JPA
    Réponses: 1
    Dernier message: 31/01/2008, 17h31
  5. [Hibernate 3] javax.persistence.PersistenceException
    Par Sensei.f dans le forum Hibernate
    Réponses: 1
    Dernier message: 21/11/2007, 16h52

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