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 :

[EJB 3.0] Persistence provider


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Par défaut [EJB 3.0] Persistence provider
    Bonjour

    Je suis en train d'explorer la persistence d'EJB 3.0 avec JBoss.

    Je suis tombé sur un article qui explique comment ecrire le fichier persistence.xml que voici:
    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
     
    <persistence xmlns="http://java.sun.com/xml/ns/persistence">    
    <persistence-unit name="pu1">        
    <!– Provider class name is required in Java SE –>
    <provider>oracle.toplink.essentials.ejb.cmp.EntityManagerFactoryProvider</provider>       
     <!– All persistence classes must be listed –>        
    <class>nl.amis.ejb30.hrm.Department</class>        
    <class>nl.amis.ejb30.hrm.Employee</class>        
    <properties>            
    <!– Provider-specific connection properties –>            
    <property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>            
    <property name="jdbc.connection.string" value="jdbc:oracle:thin:@localhost:1521:ORCL"/>            
    <property name="jdbc.user" value="scott"/>            
    <property name="jdbc.password" value="tiger"/>            
    <!– Provider-specific settings –>            
    <property name="toplink.logging.level" value="INFO"/>       
     </properties>    
    </persistence-unit>
    </persistence>
    Le provider spécifié dans l'exemple est pour lorsqu'on utilise glassfish. Dans mon cas j'ai JBoss.

    Quel devrait etre mon provider dans mon cas?

    Merci

  2. #2
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Celui qu'est livré avec JBOss. Beaucoup de chance que ce soit Hibernate.
    Même si rien ne t'empêche de prendre le jar de toplink et de le livrer avec ton application.

    Vincent

  3. #3
    Membre éclairé Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Par défaut
    ok merci

    J'ai regardé dans les librairies données avec JBoss 4 et j'ai seulement vu des jar qui donnent le package javax.persistence. Rien lié à hibernate

    C'est quoi le nom du persistence provider de hibernate?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Tu n'es pas obligé de déclarer le persistence provider dans ton fichier xml.
    Le serveur d'application se chargera d'utiliser celui qui est embarqué.

  5. #5
    Membre éclairé Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Par défaut
    d'Accord!

    Par contre, est-ce que vous pourriez me donner un exemple comment utiliser la persistence dans mon code applicatif?

    Mon mapping est déja fait entre ma BD et mes entity bean

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Oula, de tête, ça va pas être évident.
    Faudra vérifier la syntaxe exacte.

    A partir d'un ejb session, il faut récupérer l'EntityManager via l'annotation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @PersistenceContext(nom de ton persistence-unit )
    private EntityManager entityManager;
     
    puis dans une méthode de ton ejb session, par exemple:
     
    private void saveDepartment()
    {
      Department department = new Department();
      department.setXxx();
      department.setXyy();
      entityManager.persist(department);
    }
    Voilà, c'est juste pour te mettre sur la voie. A toi de vérifier la syntaxe.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/05/2011, 10h27
  2. No Persistence provider for EntityManager
    Par DrumCode dans le forum JPA
    Réponses: 6
    Dernier message: 12/08/2008, 19h59
  3. Héritage EJB entity et persistance
    Par raggadoll dans le forum JPA
    Réponses: 4
    Dernier message: 16/02/2008, 14h44
  4. Réponses: 4
    Dernier message: 01/12/2007, 22h22
  5. Réponses: 2
    Dernier message: 08/03/2007, 09h44

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