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

Persistance des données Java Discussion :

EntityManager et unitName


Sujet :

Persistance des données Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : juin 2004
    Messages : 106
    Points : 106
    Points
    106
    Par défaut EntityManager et unitName
    Bonjour,

    J'ai le bean suivant déployé sur glassfish avec une ressource jdbc configurée sur le server sous le nom jdbc/myDS
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
    
    /**
     * Session Bean implementation class MySessionBean
     */
    @Stateless
    @LocalBean
    public class MySessionBean implements MySessionBeanRemote, MySessionBeanLocal {
    
    
    @PersistenceContext(unitName = "jdbc/myDS")
        private EntityManager entityManager;
    
    
    /**
         * Default constructor.
         */
        public MySessionBean() {
    // TODO Auto-generated constructor stub
        }
    
    
    @Override
        public void addCours(Cours coursName) {
            entityManager.persist(coursName);
    
    
        }
    
    
    @Override
        public List<Cours> getCours() {
            return entityManager.createQuery("From Cours").getResultList();
        }
    
    
    }
    Lorsque j'essaye d'y accéder depuis une classe test, j'accède bien au remote bean mais j'ai l'erreur suivante de l'EntityManager:

    Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName jdbc/myDS
    Je dois mettre quoi dans l'unitName ?

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    juin 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : juin 2004
    Messages : 106
    Points : 106
    Points
    106
    Par défaut
    Bon j'ai trouvé la réponse à ma question. Il faut définir ce unitName dans un persistence.xml qui sera déployé avec l'ejb.jar.
    J'accède maintenant à ma base de données via la ressource jdbc définie sur glassfish.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0"
    	xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
     http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    
    
    	<persistence-unit name="databasePU" transaction-type="JTA">
    		<jta-data-source>jdbc/myDS</jta-data-source>
    		<class>ch.myapp.bean.MySessionBean</class>
    	</persistence-unit>
    
    
    </persistence>
    merci à moi-même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/05/2011, 10h27
  2. [EJBQL] An exception occured while creating a query in EntityManager
    Par Asmod_D dans le forum Java EE
    Réponses: 3
    Dernier message: 30/01/2008, 10h39
  3. [JPA] Gestion en session EntityManager
    Par tuxor dans le forum JPA
    Réponses: 2
    Dernier message: 04/10/2007, 14h10
  4. [EJB3 Entity] EntityManager null
    Par pmartin8 dans le forum Java EE
    Réponses: 2
    Dernier message: 29/04/2007, 16h07
  5. [EJB3 Entity] EntityManager dans EntityBean?
    Par nramariavelo dans le forum Java EE
    Réponses: 1
    Dernier message: 20/07/2006, 17h18

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