Hibernate / JPA avec EJB3
salut,
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
je suis un cours avec exemple sur le net pour que je puisse terminer cette application
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:
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
Code:
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
| 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();
}
} |
Code:
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
| 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);
} |
Code:
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
| 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);
} |
mais avec d'autre cours je constater 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
si vous avez besoin d'autre fichier n'hésite pas a me demander
merci d'avance