Fichier persistence.xml

mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011 - 18 août 2010 à 16:43
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 23 août 2010 à 20:44
Bonjour,

j'ai créer une application JEE (entreprise application)avec netbeans qui traite ces deux notions EJB3 et glassfish

mais mon problème est comment intégrer la notion d'hibernate/JPA

c a dire comment ajouter a mon application le mapping de la base de donne MYSQL

mon application est subdivise en deux partie : clientGPE et projetGPE-ejb

dans projetGPE-ejb

je creer projetjpe.ejb.entite et projetjpe.ejb.session



je vous donne un exemple de class qui se trouve dans projetjpe.ejb.entite
package projetgpe.ejb.entites;
 
import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
 
/**
 *
 * @author lefennec
 */
@Entity
@Table(name = "ENSEIGNANT")
@NamedQueries({@NamedQuery(name "Enseignant.findByMatriculeens", query "SELECT e FROM Enseignant e WHERE e.matriculeens = :matriculeens"), @NamedQuery(name = "Enseignant.findByNomens", query = "SELECT e FROM Enseignant e WHERE e.nomens = :nomens"), @NamedQuery(name = "Enseignant.findByPrenomens", query = "SELECT e FROM Enseignant e WHERE e.prenomens = :prenomens"), @NamedQuery(name = "Enseignant.findBySexeens", query = "SELECT e FROM Enseignant e WHERE e.sexeens = :sexeens"), @NamedQuery(name = "Enseignant.findByGradeens", query = "SELECT e FROM Enseignant e WHERE e.gradeens = :gradeens"), @NamedQuery(name = "Enseignant.findByFonctionens", query = "SELECT e FROM Enseignant e WHERE e.fonctionens = :fonctionens")})
public class Enseignant implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name "MATRICULEENS", nullable false)
    private String matriculeens;
    @Column(name = "NOMENS")
    private String nomens;
    @Column(name = "PRENOMENS")
    private String prenomens;
    @Column(name = "SEXEENS")
    private String sexeens;
    @Column(name = "GRADEENS")
    private String gradeens;
    @Column(name = "FONCTIONENS")
    private String fonctionens;
    @ManyToMany(mappedBy = "matriculeensCollection")
    private Collection<Cours> codecoursCollection;
 
    public Enseignant() {
    }
 
    public Enseignant(String matriculeens) {
        this.matriculeens = matriculeens;
    }
 
    public String getMatriculeens() {
        return matriculeens;
    }
 
    public void setMatriculeens(String matriculeens) {
        this.matriculeens = matriculeens;
    }
 
    public String getNomens() {
        return nomens;
    }
 
    public void setNomens(String nomens) {
        this.nomens = nomens;
    }
 
    public String getPrenomens() {
        return prenomens;
    }
 
    public void setPrenomens(String prenomens) {
        this.prenomens = prenomens;
    }
 
    public String getSexeens() {
        return sexeens;
    }
 
    public void setSexeens(String sexeens) {
        this.sexeens = sexeens;
    }
 
    public String getGradeens() {
        return gradeens;
    }
 
    public void setGradeens(String gradeens) {
        this.gradeens = gradeens;
    }
 
    public String getFonctionens() {
        return fonctionens;
    }
 
    public void setFonctionens(String fonctionens) {
        this.fonctionens = fonctionens;
    }
 
    public Collection<Cours> getCodecoursCollection() {
        return codecoursCollection;
    }
 
    public void setCodecoursCollection(Collection<Cours> codecoursCollection) {
        this.codecoursCollection = codecoursCollection;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (matriculeens != null ? matriculeens.hashCode() : 0);
        return hash;
    }
 
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Enseignant)) {
            return false;
        }
        Enseignant other = (Enseignant) object;
        if ((this.matriculeens == null && other.matriculeens != null) || (this.matriculeens != null && !this.matriculeens.equals(other.matriculeens))) {
            return false;
        }
        return true;
    }
 
    @Override
    public String toString() {
        return "projetgpe.ejb.entites.Enseignant[matriculeens=" + matriculeens + "]";
    }
 
}





Bonjour,

j'ai créer une application JEE (entreprise application)avec netbeans qui traite ces deux notions EJB3 et glassfish

mais mon problème est comment intégrer la notion d'hibernate/JPA

c a dire comment ajouter a mon application le mapping de la base de donne MYSQL

mon application est subdivise en deux partie : clientGPE et projetGPE-ejb

dans projetGPE-ejb

je creer projetjpe.ejb.entite et projetjpe.ejb.session



je vous donne un exemple de class qui se trouve dans projetjpe.ejb.entite

Code : Java - Sélectionner

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126



package projetgpe.ejb.entites;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
*
* @author lefennec
*/
@Entity
@Table(name = "ENSEIGNANT")
@NamedQueries({@NamedQuery(name "Enseignant.findByMatriculeens", query "SELECT e FROM Enseignant e WHERE e.matriculeens = :matriculeens"), @NamedQuery(name = "Enseignant.findByNomens", query = "SELECT e FROM Enseignant e WHERE e.nomens = :nomens"), @NamedQuery(name = "Enseignant.findByPrenomens", query = "SELECT e FROM Enseignant e WHERE e.prenomens = :prenomens"), @NamedQuery(name = "Enseignant.findBySexeens", query = "SELECT e FROM Enseignant e WHERE e.sexeens = :sexeens"), @NamedQuery(name = "Enseignant.findByGradeens", query = "SELECT e FROM Enseignant e WHERE e.gradeens = :gradeens"), @NamedQuery(name = "Enseignant.findByFonctionens", query = "SELECT e FROM Enseignant e WHERE e.fonctionens = :fonctionens")})
public class Enseignant implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name "MATRICULEENS", nullable false)
private String matriculeens;
@Column(name = "NOMENS")
private String nomens;
@Column(name = "PRENOMENS")
private String prenomens;
@Column(name = "SEXEENS")
private String sexeens;
@Column(name = "GRADEENS")
private String gradeens;
@Column(name = "FONCTIONENS")
private String fonctionens;
@ManyToMany(mappedBy = "matriculeensCollection")
private Collection<Cours> codecoursCollection;

public Enseignant() {
}

public Enseignant(String matriculeens) {
this.matriculeens = matriculeens;
}

public String getMatriculeens() {
return matriculeens;
}

public void setMatriculeens(String matriculeens) {
this.matriculeens = matriculeens;
}

public String getNomens() {
return nomens;
}

public void setNomens(String nomens) {
this.nomens = nomens;
}

public String getPrenomens() {
return prenomens;
}

public void setPrenomens(String prenomens) {
this.prenomens = prenomens;
}

public String getSexeens() {
return sexeens;
}

public void setSexeens(String sexeens) {
this.sexeens = sexeens;
}

public String getGradeens() {
return gradeens;
}

public void setGradeens(String gradeens) {
this.gradeens = gradeens;
}

public String getFonctionens() {
return fonctionens;
}

public void setFonctionens(String fonctionens) {
this.fonctionens = fonctionens;
}

public Collection<Cours> getCodecoursCollection() {
return codecoursCollection;
}

public void setCodecoursCollection(Collection<Cours> codecoursCollection) {
this.codecoursCollection = codecoursCollection;
}

@Override
public int hashCode() {
int hash = 0;
hash += (matriculeens != null ? matriculeens.hashCode() : 0);
return hash;
}

@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Enseignant)) {
return false;
}
Enseignant other = (Enseignant) object;
if ((this.matriculeens == null && other.matriculeens != null) || (this.matriculeens != null && !this.matriculeens.equals(other.matriculeens))) {
return false;
}
return true;
}

@Override
public String toString() {
return "projetgpe.ejb.entites.Enseignant[matriculeens=" + matriculeens + "]";
}

}



et un exemple pour projetjpe.ejb.session
package projetgpe.ejb.sessions;
 
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import projetgpe.ejb.entites.Enseignant;
 
/**
 *
 * @author lefennec
 */
@Stateless
public class EnseignantFacade implements EnseignantFacadeLocal, EnseignantFacadeRemote {
    @PersistenceContext
    private EntityManager em;
 
    public void create(Enseignant enseignant) {
        em.persist(enseignant);
    }
 
    public void edit(Enseignant enseignant) {
        em.merge(enseignant);
    }
 
    public void remove(Enseignant enseignant) {
        em.remove(em.merge(enseignant));
    }
 
    public Enseignant find(Object id) {
        return em.find(projetgpe.ejb.entites.Enseignant.class, id);
    }
 
    public List<Enseignant> findAll() {
        return em.createQuery("select object(o) from Enseignant as o").getResultList();
    }
 
    public void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction) 
    {
        Enseignant en=new Enseignant();
        en.setMatriculeens(matricule);
        en.setNomens(nom);
        en.setPrenomens(prenom);
        en.setSexeens(sexe);
        en.setGradeens(grade);
        en.setFonctionens(fonction);
        em.persist(en);
        em.flush();      
    }
 
}


package projetgpe.ejb.sessions;
 
import java.util.List;
import javax.ejb.Local;
import projetgpe.ejb.entites.Enseignant;
 
/**
 *
 * @author lefennec
 */
@Local
public interface EnseignantFacadeLocal {
 
    void create(Enseignant enseignant);
 
    void edit(Enseignant enseignant);
 
    void remove(Enseignant enseignant);
 
    Enseignant find(Object id);
 
    List<Enseignant> findAll();
 
    void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction);
 
}


package projetgpe.ejb.sessions;
 
import java.util.List;
import javax.ejb.Remote;
import projetgpe.ejb.entites.Enseignant;
 
/**
 *
 * @author lefennec
 */
@Remote
public interface EnseignantFacadeRemote {
 
    void create(Enseignant enseignant);
 
    void edit(Enseignant enseignant);
 
    void remove(Enseignant enseignant);
 
    Enseignant find(Object id);
 
    List<Enseignant> findAll();
 
    void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction);
 
}


je constater avec d'autre document que les tables et les attributs ne doivent pas creer manuellement dans la base de donne mais avec JPA

je veux savoir comment et aussi comment consulter les attributs d'une telle table

je vous donne un exemple de class qui est enseignant qui a des attributs qui sont les même dans la base de donne



je modifier le fichier persistence.xml en suivant des documents sur le net et je sais que La création de la base de données à partir des entities se précise dans la configuration JPA


si il y'a des erreurs sur ce fichier ou vous manque d'information pour m'aidez a corriger ce fichier n'hésite pas a me donner

ou si vous avez un exemple de fichier persistense.xml qui traite un problème de ce genre n'hesite pas a me donner

<?xml version="1.0" encoding="UTF-8"?>

  
    org.hibernate.ejb.HibernatePersistence


    <jta-data-source>projetgpeJNDI</jta-data-source>
 <mapping-file>ormap.xml</mapping-file>
 
      <jar-file>MyApp.jar</jar-file>
 
      <class>org.acme.enseignant</class>
 
      <class>org.acme.utilisateur</class>
 
      <class>org.acme.cour</class>
 
      <class>org.acme.classe</class>
      <class>org.acme.department</class>
      <class>org.acme.presense</class>
      <class>org.acme.seance</class>
      <class>org.acme.jourcours</class>
      <class>org.acme.joursemaine</class>
      <class>org.acme.droits</class>
      <shared-cache-mode>ENABLE_SELECTOVE</shared-cache-mode>
 
      <validation-mode>CALLBACK</validation-mode>
    
     
 
         
    


  






merci d'avance

15 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 août 2010 à 18:01
Salut,

Tu peux expliquer clairement quel est ton problème stp ? J'ai pas trop bien saisit quelle est ta véritable question.

EJB3 avec les entity beans, JPA/Hibernate, c'est à peu près les mêmes concepts.

Ton problème consiste juste à générer le schéma de ta base selon les classes de ton projet, c'est cà ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
18 août 2010 à 20:09
comment créer les tables [pas manuellement mais avec jpq] et comment consulter la base de donne

je travaille avec une base MySQL, je suppose qu'il me faut changer la valeur de cette ligne :
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
19 août 2010 à 15:59
a mon avis le fichier persistence.xml dois être comme suit
<?xml version="1.0" encoding="UTF-8"?>

 
 org.hibernate.ejb.HibernatePersistence


    <jta-data-source>projetgpeJNDI</jta-data-source>
       
           <!-- Dialecte -->
           
       








est ce que correcte

dans le même contexte par exemple comment créer les tables (enseignant,utilisateur..) avec leurs attributs
(bien sur pas manuellement mais avec JPA) et dans quel fichier je dois écrire ce code
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 16:26
Salut,

La création des tables se fait selon les attributs de tes entityBeans et les annotations que tu as mis dans tes classes, il faut bien entendu les répertorier dans ton fichier persistence.xml, voici un fichier persistence.xml que j'utilise dans l'un de mes projets :

<?xml version="1.0" encoding="UTF-8"?>

   
      <jta-data-source>java:jdbcProjet</jta-data-source> <!-- nom de ton datasource configuré dans ton serveur J2EE -->
      <!-- Liste de toutes les classes ici -->
      <class>fr.projet.model.abonnement.entites.LibelleAbonnementDO</class>
      <class>fr.projet.model.abonnement.entites.LibelleAbonnementListeDO</class>

      
         
          
         
      


   






Il existe autant de fichier de configuration qu'il y a de projet : chaque projet nécessite une configuration propre selon si tu as un datasource de configuré, selon si tu utilise un base locale, etc.


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
19 août 2010 à 20:06
tu peux m'expliquer cette ligne "fr.projet.model.abonnement.entites.LibelleAbonnementDO"

ainsi vous parler de base local et d'autre pouvez m'expliquer et qu'es que je dois choisir (si mon but est de créer une application JEE et que je travail avec EJB3 et jpa/hibernate et glassfish comme serveur d'application et avec mysql)
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
20 août 2010 à 17:52
j'écris ce fichier de cette manière j'espère que juste

<?xml version="1.0" encoding="UTF-8"?>

   
      <jta-data-source>projetgpe</jta-data-source> <!-- nom de mon datasource configuré dans mon serveur J2EE -->
      <!-- Liste de toutes les classes ici -->
       <class>projetgpe.ejb.entites.enseignant</class>
 <class>projetgpe.ejb.entites.cours</class>
 <class>projetgpe.ejb.entites.department</class>
 <class>projetgpe.ejb.entites.droits</class>
 <class>projetgpe.ejb.entites.presence</class>
 <class>projetgpe.ejb.entites.seance</class>
      <class>projetgpe.ejb.entites.utilisateur</class>
 
      
         
          
         
      


   




 
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 août 2010 à 18:02
Salut,

fr.projet.model.abonnement.entites.LibelleAbonnementDO est le nom d'un entity bean de mon projet. Il faut y mettre tout tes entity beans.

Concernant la création des tables, en effet, le devrait faire cà. Par contre, ne le faire qu'une seule fois, sinon, à chaque redémarrage de ton serveur, tu perdras les données de tes tables.


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
22 août 2010 à 11:08
merci pour la réponse

je développe plusieurs classe a titre d'exemple la class "enseignant"

dans mon source packages il y'a deux type: projetgpe.ejb.entites et projetgpe.ejb.sessions

dans la première ( projetgpe.ejb.entites) se trouve tous les class java(enseignant,department,cours...) et dans la deuxième pour chaque class par exemple "enseignant" se trouve trois class "EnseignantFacade" , "EnseignantFacadeLocal","EnseignantFacadeRemote"

vous me dites que "
"est la responsable a la création des tables et les attributs

mais je veux savoir ou exactement se fait la création car vous dite que la création des tables se fait selon les attributs de mes entityBeans et les annotations que j'ai mis dans mes classes

je vous donne encore une fois les codes des enseignant et avec le même principe je peux comprend la création des autres tables("département,cours...")


package projetgpe.ejb.entites;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author lefennec
 */
@Entity
@Table(name = "ENSEIGNANT")
@NamedQueries({@NamedQuery(name "Enseignant.findByMatriculeens", query "SELECT e FROM Enseignant e WHERE e.matriculeens = :matriculeens"), @NamedQuery(name = "Enseignant.findByNomens", query = "SELECT e FROM Enseignant e WHERE e.nomens = :nomens"), @NamedQuery(name = "Enseignant.findByPrenomens", query = "SELECT e FROM Enseignant e WHERE e.prenomens = :prenomens"), @NamedQuery(name = "Enseignant.findBySexeens", query = "SELECT e FROM Enseignant e WHERE e.sexeens = :sexeens"), @NamedQuery(name = "Enseignant.findByGradeens", query = "SELECT e FROM Enseignant e WHERE e.gradeens = :gradeens"), @NamedQuery(name = "Enseignant.findByFonctionens", query = "SELECT e FROM Enseignant e WHERE e.fonctionens = :fonctionens")})
public class Enseignant implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name "MATRICULEENS", nullable false)
    private String matriculeens;
    @Column(name = "NOMENS")
    private String nomens;
    @Column(name = "PRENOMENS")
    private String prenomens;
    @Column(name = "SEXEENS")
    private String sexeens;
    @Column(name = "GRADEENS")
    private String gradeens;
    @Column(name = "FONCTIONENS")
    private String fonctionens;
    @ManyToMany(mappedBy = "matriculeensCollection")
    private Collection<Cours> codecoursCollection;

    public Enseignant() {
    }

    public Enseignant(String matriculeens) {
        this.matriculeens = matriculeens;
    }

    public String getMatriculeens() {
        return matriculeens;
    }

    public void setMatriculeens(String matriculeens) {
        this.matriculeens = matriculeens;
    }

    public String getNomens() {
        return nomens;
    }

    public void setNomens(String nomens) {
        this.nomens = nomens;
    }

    public String getPrenomens() {
        return prenomens;
    }

    public void setPrenomens(String prenomens) {
        this.prenomens = prenomens;
    }

    public String getSexeens() {
        return sexeens;
    }

    public void setSexeens(String sexeens) {
        this.sexeens = sexeens;
    }

    public String getGradeens() {
        return gradeens;
    }

    public void setGradeens(String gradeens) {
        this.gradeens = gradeens;
    }

    public String getFonctionens() {
        return fonctionens;
    }

    public void setFonctionens(String fonctionens) {
        this.fonctionens = fonctionens;
    }

    public Collection<Cours> getCodecoursCollection() {
        return codecoursCollection;
    }

    public void setCodecoursCollection(Collection<Cours> codecoursCollection) {
        this.codecoursCollection = codecoursCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (matriculeens != null ? matriculeens.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Enseignant)) {
            return false;
        }
        Enseignant other = (Enseignant) object;
        if ((this.matriculeens == null && other.matriculeens != null) || (this.matriculeens != null && !this.matriculeens.equals(other.matriculeens))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "projetgpe.ejb.entites.Enseignant[matriculeens=" + matriculeens + "]";
    }

}


package projetgpe.ejb.sessions;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import projetgpe.ejb.entites.Enseignant;

/**
 *
 * @author lefennec
 */
@Stateless
public class EnseignantFacade implements EnseignantFacadeLocal, EnseignantFacadeRemote {
    @PersistenceContext
    private EntityManager em;

    public void create(Enseignant enseignant) {
        em.persist(enseignant);
    }

    public void edit(Enseignant enseignant) {
        em.merge(enseignant);
    }

    public void remove(Enseignant enseignant) {
        em.remove(em.merge(enseignant));
    }

    public Enseignant find(Object id) {
        return em.find(projetgpe.ejb.entites.Enseignant.class, id);
    }

    public List<Enseignant> findAll() {
        return em.createQuery("select object(o) from Enseignant as o").getResultList();
    }

    public void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction) 
    {
        Enseignant en=new Enseignant();
        en.setMatriculeens(matricule);
        en.setNomens(nom);
        en.setPrenomens(prenom);
        en.setSexeens(sexe);
        en.setGradeens(grade);
        en.setFonctionens(fonction);
        em.persist(en);
        em.flush();      
    }

}


package projetgpe.ejb.sessions;

import java.util.List;
import javax.ejb.Local;
import projetgpe.ejb.entites.Enseignant;

/**
 *
 * @author lefennec
 */
@Local
public interface EnseignantFacadeLocal {

    void create(Enseignant enseignant);

    void edit(Enseignant enseignant);

    void remove(Enseignant enseignant);

    Enseignant find(Object id);

    List<Enseignant> findAll();

    void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction);

}


package projetgpe.ejb.sessions;

import java.util.List;
import javax.ejb.Remote;
import projetgpe.ejb.entites.Enseignant;

/**
 *
 * @author lefennec
 */
@Remote
public interface EnseignantFacadeRemote {

    void create(Enseignant enseignant);

    void edit(Enseignant enseignant);

    void remove(Enseignant enseignant);

    Enseignant find(Object id);

    List<Enseignant> findAll();

    void enregistrerEnseignant(String matricule, String nom, String prenom, String sexe, String grade, String fonction);

}
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 août 2010 à 11:30
Salut,

Et bien selon ton code, il va créer une table nommée ENSEIGNANT : @Table(name = "ENSEIGNANT") dans la base de données configurée dans ton fichier persistence.xml. Apparemment, tu as un datasource configurée dans ton serveur d'application : <jta-data-source>projetgpe</jta-data-source>, c'est ce datasource qui définit quelle base utiliser, avec tel utilisateur. Il faut bien entendu que le datasource soit correctement configuré pour que la création des tables se fasse.

Ensuite, concernant les champs de tes tables, tu les as configuré manuellement, par exemple :
@Id
@Column(name "MATRICULEENS", nullable false)

Pour les sessionBeans, il ne sont pas persistés vu qu'un sessionBean n'est qu'une classe permettant de manipuler les entityBeans.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
22 août 2010 à 11:41
tu es mon sauveur

autre question :tu me dis que "le datasource soit correctement configuré pour que la création des tables se fasse".

mais comment consulter la base de donnée (comme pour "wamp" ou d'autre) normalement je peux consulter la table et leurs attributs pour être sur qu'elle est créer

comme dans mon cas je dois trouver table "enseignant" avec comme attribut "MATRICULEENS"

ma base de donne comme indique le fichier "persistense.xml" est nomme "projetgpe"
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 août 2010 à 11:50
Salut,

Attention, projetgpe indique le nom du datasource à utiliser, et non le nom de la base de données. Il faut que tu configure un datasource au niveau de ton serveur d'application J2EE afin que tu puisse te connecter à celle-ci par le biais de ton serveur d'application.

La configuration d'un datasource est différente selon le serveur d'application utilisé. N'ayant jamais utilisé glassfish, je ne sais pas comment tu peux configurer un datasource avec, mais tu dois pouvoir trouver assez facilement des tutoriaux sur le net qui te montreront comment en créer un.

Concernant la connexion à la base pour voir si elle est bien crée, tu peux utiliser le MySQL Admin que tu peux télécharger sur le site de MySQL. C'est l'outil idéal pour configurer une base de données, couplé à MySQL Query Browser, tu peux faire quasiment tout ce que tu veux de façon visuelle.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
23 août 2010 à 15:50
d'apres quelque document sur le net je constate que Les tables de ma base de données sont crées suivant les ressources JDBC que j'ai indiqués à Glassfish dans le fichier sun-ressource.xml.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
<resources>
  <jdbc-resource enabled="true" jndi-name="projetgpeJNDI" object-type="user" pool-name="derby_netPool"/>
  <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.ClientDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="derby_netPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    
    
    
    
    
    
    
  </jdbc-connection-pool>
</resources>


et que Hibernate se charge de tout faire à ma place

mon question est :je veux savoir où intervient cette notion(Hibernate)j'ai déjà vous donner un exemple des fichier entites et sessions pour l'exemple de "l'enseignant"
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 août 2010 à 16:02
Salut,

Comme je te l'avais dit dans mon premier message : EJB3 avec les entity beans, JPA/Hibernate, c'est à peu près les mêmes concepts.

JPA est un mix entre les EJB2 et Hibernate. Sun ayant décidé d'intégré Hibernate directement dans l'API standard de J2EE, ils ont simplifié Hibernate pour faire JPA, ce qui correspond aux entity beans des EJB3. Hibernate est toujours disponible pour les concepts plus avancés (optimisation, requêtes complexes, etc.) qu'il n'est pas possible à faire uniquement avec JPA, mais c'est des cas très précis que l'on rencontre au final assez rarement.

Si tu veux en savoir plus, je peux te conseiller le livre de Patricio : http://www.codes-sources.com/livres/livre-java-persistence-hibernate-24665.aspx
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
23 août 2010 à 20:02
merci pour la réponse

mais est ce qu'il y'a des cours gratuits si possible
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 août 2010 à 20:44
Salut,

Google est ton ami, tu trouveras pas mal de tutoriaux sur le net, mais un bon livre (celui de patricio est vraiment complet) te fera gagner pas mal de temps.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous