Problema ao gravar, por favor alguém ajuda?

Fala pessoal, tudo bem? Beem … estou com mais um probleminha, dessa vez com a chave estrangeira :cry:

Esta apresentando um erro ao tentar adicionar fala que precisa converter para uma string, mostrarei a seguir, primeiro segue minhas classes:

Classe modelo Residuo


@Entity
@Table(name = "residuo")
public class Residuo {

	@Id
	@GeneratedValue
	private Integer id;

	private String descricao;
	private String classe;
        //Outros atributos do tipo String, Getters e Setters

Classe modelo Geracao

@Entity
@Table(name = "geracao")
public class Geracao {

	@Id
	@GeneratedValue
	private Integer id;

	private String data;

	@ManyToOne
	private Residuo residuos;
        //Outros atributos Getters e Setters

       	public Residuo getResiduos() {
		return residuos;
	}

	public void setResiduos(Residuo residuos) {
		this.residuos = residuos;
	}

Trecho do código na página JSP que lista os residuos cadastrados previamente

              <td><select name="residuos">
              <option value="">&nbsp;</option>
              <c:forEach var="residuo" items="${dao.lista}">
               <option value="${residuo.id}">${residuo.descricao}</option>
               </c:forEach>
               </select></td>

Método que é chamado na ação do formulário, ou seja, ao clicar o botão gravar na interface Web

[code]
public String gravar(Geracao geracao) {
EntityManager em = new JPAUtil().getEntityManager();
GeracaoDAO dao = new GeracaoDAO(em);
em.getTransaction().begin();

	ResiduoDAO resDao = new ResiduoDAO(em);
	Residuo residuo = resDao.getBusca(geracao.getResiduos().getId());

	residuo.setId(geracao.getResiduos().getId());
	residuo.setDescricao(geracao.getResiduos().getDescricao());
	residuo.setCodonu(geracao.getResiduos().getCodonu());
	residuo.setUm(geracao.getResiduos().getUm());

	geracao.setResiduos(residuo);

	dao.getAdiciona(geracao);
	em.getTransaction().commit();
	em.close();

	return "redirect:cadastroGeracao";
}[/code]

A idéia era montar o objeto Residuo correspondente ao residuo que foi selecionado na interface gráfica web atravéz de um combo box e então seta-lo como residuo da geração para salvar como chave estrangeira na tabela geracao, porém ao tentar salvar é apresentado o seguinte erro:

[code]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object ‘geracao’ on field ‘residuos’: rejected value [1]; codes [typeMismatch.geracao.residuos,typeMismatch.residuos,typeMismatch.br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [geracao.residuos,residuos]; arguments []; default message [residuos]]; default message [Failed to convert property value of type ‘java.lang.String’ to required type ‘br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo’ for property ‘residuos’; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo] for property ‘residuos’: no matching editors or conversion strategy found]
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:681)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object ‘geracao’ on field ‘residuos’: rejected value [1]; codes [typeMismatch.geracao.residuos,typeMismatch.residuos,typeMismatch.br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [geracao.residuos,residuos]; arguments []; default message [residuos]]; default message [Failed to convert property value of type ‘java.lang.String’ to required type ‘br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo’ for property ‘residuos’; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [br.com.e2sconsultoria.gerenciamentoe2s.modelo.Residuo] for property ‘residuos’: no matching editors or conversion strategy found]
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:810)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.[/code]

Alguém tem ideia do que posso fazer para corrigir isso?

Ninguém tem ideia do por que desse erro? Preciso muito fazer isso funcionar!