[Débutant] Problème d'ajout EJB3
Salut
voila j'ai un problème d’ajout est je ne sais pas vraiment d'ou vient l'erreur
j'ai crée une Entity Bean Personne
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
| @Entity
public class Personne implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String nomComplet;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNomComplet() {
return nomComplet;
}
public void setNomComplet(String nomComplet) {
this.nomComplet = nomComplet;
}
@Override
public int hashCode() {
int hash = 0;
hash += (int) id;
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 Personne)) {
return false;
}
Personne other = (Personne) object;
if (this.id != other.id) {
return false;
}
return true;
}
@Override
public String toString() {
return "entites.Personne[id=" + id + "]";
}
} |
puis j'ai crée un Manger bean pour avec une fonction d'ajout
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
| @ManagedBean
@RequestScoped
public class indexBean {
@PersistenceContext(unitName="TestSimplePU")
EntityManager em;
private String message="En attente";
public indexBean() {
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public void ajouter(){
try {
Personne personne= new Personne();
personne.setNomComplet("Super Man");
em.persist(personne);
message="Ajout bin fait ";
} catch (Exception e) {
message = "Erreur "+e;
}
}
} |
mais rien ne marche :?:? j'ai ce message d'erreur javax.persistence.TransactionRequiredException
merci d’avance
Probleme d'injection ejb dans jsf2
Bonjour je suis entrin de faire une application en java ee6 et je suis vraiment bloqué :( ,j'ai bésoin une aide svp
j'ai creé une classe ejb et je veux injecter le ejb dans jsf 2 avec @ ejb j'ai une erreur (Erreur lors de linjection de ressources dans le bean géré uniteJsf)
@Stateless
public class UniteBilletEJB implements UniteBilletEJBRemote {
@PersistenceContext(unitName="ceDatabase")
private EntityManager em;
@Override
public List<UniteBillet>searche(String nomUnite){
Query query= em.createNamedQuery(UniteBillet.Find_Allunitebillet);
List result=query.getResultList();
return result;
}
/*
* fonction permettant de persister dans la base de données
*/
@Override
public boolean creeUnite(final String nomUnite,final Integer nbUnite,final Integer lotUnite,final double prixUnite,final Date moisUnite,final Date dateRentre,final Date dateExperation){
UniteBillet unite=new UniteBillet();
unite.setNomUnite(nomUnite);
unite.setNbUnite(nbUnite);
unite.setLotUnite(lotUnite);
unite.setPrixUnite(prixUnite);
unite.setMoisUnite(moisUnite);
unite.setDateRentre(dateRentre);
unite.setDateExperation(dateExperation);
em.persist(unite);
return true;
}
/**
* fonction permettant de modifier dans la base de donner
* @param unite
* @return
*/
@Override
public boolean modifierUnite(UniteBillet unite){
em.merge(unite);
return true;
}
@Override
public boolean supprimeUnite(UniteBillet unite){
em.remove(em.merge(unite));
return true;
}
}
et la classe jsf
@ManagedBean
@RequestScoped
@TransactionManagement(TransactionManagementType.BEAN)
public class UniteJsf {
@EJB
private static UniteBilletEJB uniteEjb;
/** Creates a new instance of UniteJsf */
private UniteBillet unite;
public List<UniteBillet> searcheUniteJSF(String nomUnite){
List result=uniteEjb.searche(nomUnite);
return result;
}
public boolean creeUniteJSF(final String nomUnite,final Integer nbUnite,final Integer lotUnite,final double prixUnite,final Date moisUnite,final Date dateRentre,final Date dateExperation){
uniteEjb.creeUnite(nomUnite, nbUnite, lotUnite, prixUnite, moisUnite, dateRentre, dateExperation);
return true;
}
public boolean supprimeUniteJSF(UniteBillet unite){
uniteEjb.supprimeunite(unite);
return true;
}
public boolean modifieUniteJSF(UniteBillet unite){
uniteEjb.supprimeunite(unite);
return true;
}
public UniteBillet getUnite() {
return unite;
}
public void setUnite(UniteBillet unite) {
this.unite = unite;
}
}