Voici mon EJBéchec EJB mise à jour datamodel
@Entity
@Table(name = "modelos")
@NamedQueries({
@NamedQuery(name = "Modelos.findAll", query = "SELECT m FROM Modelos m"),
@NamedQuery(name = "Modelos.findById", query = "SELECT m FROM Modelos m WHERE m.id = :id"),
@NamedQuery(name = "Modelos.findByDescripcion", query = "SELECT m FROM Modelos m WHERE m.descripcion = :descripcion")})
public class Modelos implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@Column(name = "descripcion")
private String descripcion;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idModelo")
private Collection<Produtos> produtosCollection;
@JoinColumn(name = "id_marca", referencedColumnName = "id")
@ManyToOne(optional = false)
private Marcas idMarca;
public Modelos() {
}
public Modelos(Integer id) {
this.id = id;
}
public Modelos(Integer id, String descripcion) {
this.id = id;
this.descripcion = descripcion;
}
public Modelos(Integer id, Marcas idMarca) {
this.id = id;
this.idMarca = idMarca;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public Collection<Produtos> getProdutosCollection() {
return produtosCollection;
}
public void setProdutosCollection(Collection<Produtos> produtosCollection) {
this.produtosCollection = produtosCollection;
}
public Marcas getIdMarca() {
return idMarca;
}
public void setIdMarca(Marcas idMarca) {
this.idMarca = idMarca;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.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 Modelos)) {
return false;
}
Modelos other = (Modelos) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "" + descripcion + "";
}
}
Et la méthode accesing de la Modelosfacade
public List<Modelos> findByMarcas(Marcas idMarca){
return em.createQuery("SELECT id, descripcion FROM Modelos WHERE idMarca = "+idMarca.getId()+"").getResultList();
}
Et la méthode d'appel du contrôleur
public String createByMarcas() {
//recreateModel();
items = new ListDataModel(ejbFacade.findByMarcas(current.getIdMarca()));
updateCurrentItem();
System.out.println(current.getIdMarca());
return "List";
}
Je ne comprends pas pourquoi je continue à tomber dans une exception EJB.
Caused by: javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5070)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:4968)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4756)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1906)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:198)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
at $Proxy347.findByMarcas(Unknown Source)
at controladores.__EJB31_Generated__ModelosFacade__Intf____Bean__.findByMarcas(Unknown Source)
Crytal Clair! Je suis vraiment très reconnaissant! appliquera les changements dès maintenant (en fait dès que le match de l'Argentine sera terminé) mais merci encore beaucoup. Je vous laisse savoir comment ça marche! –
De rien, content que vous ayez trouvé cela utile. Et laissez-moi savoir si le problème n'est pas résolu. –
Problème résolu merci beaucoup! –