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 :

TransactionException: Could not find UserTransaction in JNDI:


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 34
    Par défaut TransactionException: Could not find UserTransaction in JNDI:
    si quelqu'un peut me dire ce que ces exceptions signifient?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Exception in thread "main" net.sf.hibernate.TransactionException: Could not find UserTransaction in JNDI: 
    	at net.sf.hibernate.transaction.JTATransaction.begin(JTATransaction.java:137)
    	at net.sf.hibernate.transaction.JTATransactionFactory.beginTransaction(JTATransactionFactory.java:58)
    	at net.sf.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:2231)
    	at Test.main(Test.java:11)
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
    	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    	at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    	at javax.naming.InitialContext.lookup(Unknown Source)
    	at net.sf.hibernate.transaction.JTATransaction.begin(JTATransaction.java:133)
    	... 3 more
    Merci

  2. #2
    Membre expérimenté Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Par défaut
    Manifestement, ta config Hibernate doit préciser d'utiliser des transactions JTA c-a-d que tu dois avoir quelque chose comme ça dans ton fichier cfg.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <property name="transaction.factory_class">
            org.hibernate.transaction.JTATransactionFactory
    </property>
    Du coup Hibernate s'attend à fonctionner dans un environnement "managé" (par exemple un serveur d'application) qui prendra en charge les transactions (en se basant sur les APIs JTA et JNDI). Apparemment ton programme ne semble pas s'exécuter dans un tel environnement (c'est peut-être du JavaSE avec un main() ?).

    Si c'est bien ça, essaye de remplacer le code plus haut par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <property name="transaction.factory_class">
            org.hibernate.transaction.JDBCTransactionFactory
    </property>
    Voir ici pour plus d'explications.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 34
    Par défaut Merci
    Merci pour votre réponse.
    mais ce que je pense j'ai déja cette property :S dans mon fichier xml
    Citation Envoyé par mOuLi Voir le message
    Manifestement, ta config Hibernate doit préciser d'utiliser des transactions JTA c-a-d que tu dois avoir quelque chose comme ça dans ton fichier cfg.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <property name="transaction.factory_class">
            org.hibernate.transaction.JTATransactionFactory
    </property>
    Du coup Hibernate s'attend à fonctionner dans un environnement "managé" (par exemple un serveur d'application) qui prendra en charge les transactions (en se basant sur les APIs JTA et JNDI). Apparemment ton programme ne semble pas s'exécuter dans un tel environnement (c'est peut-être du JavaSE avec un main() ?).

    Si c'est bien ça, essaye de remplacer le code plus haut par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <property name="transaction.factory_class">
            org.hibernate.transaction.JDBCTransactionFactory
    </property>
    Voir ici pour plus d'explications.

Discussions similaires

  1. JDIC : Could not find main class
    Par seiryujay dans le forum API standards et tierces
    Réponses: 32
    Dernier message: 08/02/2006, 16h44
  2. [Hibernate] : Erreur Could not find datasource
    Par tipaquo dans le forum Hibernate
    Réponses: 2
    Dernier message: 12/10/2005, 10h43
  3. [3.1][Debian]problème de Could not find library 'swt-pi-gtk
    Par zlavock dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/09/2005, 13h07
  4. Réponses: 6
    Dernier message: 17/04/2005, 10h58
  5. Réponses: 3
    Dernier message: 30/03/2005, 23h15

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