Ciao a tutti ragazzi allora il mio rpblema è il seguente, so che è una domanda stupida:
da un form devo fare una ricerca e mi deve restituire i dati presenti nel db
ma al momento che vado a cliccare mi da questo errore:
Il form è:Codice PHP:javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
at com.sun.ejb.containers.BaseContainer.checkExceptionClientTx(BaseContainer.java:4926) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4761)
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 $Proxy340.findByTitolo(Unknown Source)
at controller.ControllerDao.findByTitolo(ControllerDao.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5243) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:367)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5215)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5203)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:190)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
at $Proxy341.findByTitolo(Unknown Source)
at servlet.Find.processRequest(Find.java:44)
at servlet.Find.doPost(Find.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.IllegalStateException: Query argument titolo not found in the list of parameters provided during query execution.
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.processParameters(EJBQueryImpl.java:559)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:329)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:478)
at session.DivxFacade.findByTitolo(DivxFacade.java:51)
Il codice nella servlet è:Codice PHP:<div id="container_box">
Ricerca un film:</p>
<form action="Find" id="tit_divx" method="post">
<input type="text">
<input type="submit" value="Cerca">
</form>
</div>
che richiama il controllerCodice PHP:Divx idDisp = (Divx) controllerDao.findByTitolo();
request.getParameter("tit_divx");
if(idDisp != null) {
request.getRequestDispatcher("//lista_aggr_cod_disp.jsp").forward(request, response);
} else {
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
Il session interessato è:Codice PHP:public List findByTitolo() {
return divxFacade.findByTitolo();
}
E l'entity interessato è:Codice PHP:public List<Divx> findByTitolo(){
return em.createQuery("SELECT d FROM Divx d WHERE d.titolo = :titolo").getResultList();
}
Dove sbaglio?Codice PHP:@Entity
@Table(name = "divx")
@NamedQueries({
@NamedQuery(name = "Divx.findAll", query = "SELECT d FROM Divx d"),
@NamedQuery(name = "Divx.findByIddivx", query = "SELECT d FROM Divx d WHERE d.iddivx = :iddivx"),
@NamedQuery(name = "Divx.findByCoddivx", query = "SELECT d FROM Divx d WHERE d.coddivx = :coddivx"),
@NamedQuery(name = "Divx.findByTitolo", query = "SELECT d FROM Divx d WHERE d.titolo = :titolo"),
@NamedQuery(name = "Divx.findByAnno", query = "SELECT d FROM Divx d WHERE d.anno = :anno"),
@NamedQuery(name = "Divx.findByTipoSupporto", query = "SELECT d FROM Divx d WHERE d.tipoSupporto = :tipoSupporto")})
public class Divx implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "Id_divx")
private Integer iddivx;
@Basic(optional = false)
@Column(name = "Cod_divx")
private String coddivx;
@Basic(optional = false)
@Column(name = "Titolo")
private String titolo;
@Column(name = "Anno")
@Temporal(TemporalType.DATE)
private Date anno;
@Lob
@Column(name = "Trama")
private String trama;
@Basic(optional = false)
@Column(name = "TipoSupporto")
private String tipoSupporto;
@JoinColumn(name = "Id_genere", referencedColumnName = "Id_genere")
@ManyToOne
private Genere idgenere;
public Divx() {
}
public Divx(Integer iddivx) {
this.iddivx = iddivx;
}
public Divx(Integer iddivx, String coddivx, String titolo, String tipoSupporto) {
this.iddivx = iddivx;
this.coddivx = coddivx;
this.titolo = titolo;
this.tipoSupporto = tipoSupporto;
}
// METODI SETTER E GETTER
@Override
public int hashCode() {
int hash = 0;
hash += (iddivx != null ? iddivx.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 Divx)) {
return false;
}
Divx other = (Divx) object;
if ((this.iddivx == null && other.iddivx != null) || (this.iddivx != null && !this.iddivx.equals(other.iddivx))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entities.Divx[iddivx=" + iddivx + "]";
}
}
![]()
grazie mille a tutti per l'aiuto siete fantastici

Rispondi quotando
