Erro em consulta JPQL

ola pessoal
seguinte tenho uma classe documento com relacionamento 1xN para curso, então esta assim o meu código:

public class Documento implements Serializable {
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "codigo")
    private Integer codigo;
    @Basic(optional = false)
    //@NotNull
    @Size(min = 1, max = 500)
    @Column(name = "titulo")
    private String titulo;
    @Size(max = 50)
    @Column(name = "tipo")
    @Column(name = "ano")
    private Integer ano;
    @JoinColumn(name = "curso", referencedColumnName = "codigo")
    @ManyToOne
    private Curso curso;    

estou querendo fazer uma consulta simples para o usuário
com apenas um campo ele pesquisa nas quatro colunas
ficou assim:

public List<Documento> pesquisaSimples(Documento documento) {
       String titulo = documento.getTitulo();
       String tipo = documento.getTitulo();
       Integer ano=Integer.parseInt(documento.getTitulo());//tem uma outra lógica aqui para validar o ano, já resolvi
       String curso = documento.getTitulo();

        List<Documento> resultado = new ArrayList<Documento>();
        try {
            Query consulta = em.createNamedQuery(Documento.pesquisaSimples);
            consulta.setParameter("titulo",titulo);
            consulta.setParameter("tipo", tipo);
            consulta.setParameter("ano", ano);
            consulta.setParameter("curso",curso);
            resultado = consulta.getResultList();
        } catch (Exception e) {
            System.out.println("erro ao realizar a consulta simples " + e.getMessage());
        }
        return resultado;
    }

ai da esse erro:

[quote]
Advertência: EJB5184:A system exception occurred during an invocation on EJB PesquisasDAO, method: public java.util.List pesquisa.PesquisasDAO.pesquisaSimples(modelo.Documento)
Advertência: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
Caused by: java.lang.NumberFormatException: For input string: "Ciência da Computação"
Advertência: EJB5184:A system exception occurred during an invocation on EJB ImplementsPesquisasFacade, method: public java.util.List pesquisa.ImplementsPesquisasFacade.pesquisaSimples(modelo.Documento)
Advertência: javax.ejb.EJBTransactionRolledbackException
Caused by: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
Caused by: java.lang.NumberFormatException: For input string: “Ciência da Computação”[/quote]

Alguém tem uma ideia de resolver?

Tenho a impressão que tem algum problema aqui…

@Size(max = 50)  
@Column(name = "tipo")  
@Column(name = "ano")  
private Integer ano; 

:O)

[]s

acho que não
esta tudo certo

@JoinColumn(name = "curso", referencedColumnName = "codigo") @ManyToOne private Curso curso;
Isso quer dizer que em sua tabela, a coluna “código” receberá a id do curso.

Na sua busca você está tentando buscar pelo título.

 String curso = documento.getTitulo(); 
.
.
.
consulta.setParameter("curso",curso); 

Sério? Isso não devia nem compilar. Deveria dar um “duplicate annotation”

pois é
em uma das minhas tentativas ele reclamou que o parâmetro deveria ser um objeto de classe
tentei fazer um treco bem estranho que é melhor nem mostrar