Boa tarde pessoal tudo blz? estou aqui tentando fazer um programinha para estudo e estou me deparando com um problema…
Estou usando Hibernate + Struts nesse meu estudo e tenho uma classe com composite-id assim:
public class Parceiro implements Serializable {
private ParceiroPK id;
private String nomeCompleto;
// meus metodos get, set, hashCode, equals
}
public class ParceiroPK implements Serializable {
private Long codigo;
private Empresa empresa;
// meus metodos get, set, hashCode, equals
}
public class Empresa implements Serializable {
private Long codigo;
// meus metodos get, set, hashCode, equals
}
Estou enviando uma lista de Parceiro para o JSP assim:
HttpSession session = request.getSession();
Collection listaParceiro = ParceiroDAO.getInstance().listaTodos();
session.setAttribute("listaParceiro", listaParceiro);
estou agora tentando pegar o objeto da pagina JSP só que nao consigo…
Parceiro parceiro = (Parceiro) ParceiroDAO.getInstance().procurar( (ParceiroPK) request.getAttribute("parceiroID") );
Só que ele está retornando como null alguém tem uma idéia de como posso fazer isso ?? o que devo estar errando… pois quando tento fazer um Load com o ID ele me da o seguinte erro:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: id to load is required for loading
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IllegalArgumentException: id to load is required for loading
org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
org.hibernate.impl.SessionImpl.load(SessionImpl.java:564)
org.hibernate.impl.SessionImpl.load(SessionImpl.java:560)
br.com.fts.dao.ParceiroDAO.procurar(ParceiroDAO.java:35)
br.com.fts.action.ParceiroAction.edita(ParceiroAction.java:38)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28
