Dúvida no uso de QUERY

Olá pessoal,

Sou estudante e estou fazendo meu TCC, onde estou desenvolvendo um sistema (com orientação de um professor), e preciso fazer uma pesquisa de cliente e criar uma lista. Onde a lista deve conter o todos os clientes que tenham aquele nome que foi passado como referencia.

Então:

O usuário digita:

[b]João[/b]

Então o método passará todos os clientes quem tem João em seu nome.
Ex.:

João Paulo Oliveira
Márcio João de Castro
Joaquim João de Farias

O professor fez um método que passa todos os cliente do banco de dados (código abaixo).

[code]public List listaCliente(){
Query query = em.createNamedQuery(“Cliente.findAll”,Cliente.class);

    return query.getResultList();
}[/code]

Ele falou que para lista por nome o código seria semelhante, mas eu ainda não consegui fazer. Então quem puder me ajudar fornecendo exemplode códigos, artigos, livros eu agradeço muito.

Desde já agradeço ajuda de vocês.

Cara não estou usando JPA nas atividades não, porem acredito que pelo codigo que você passou de seu professor, este artigo http://uaihebert.com/?p=1555 do uiaHebert, ajuda a solucionar seu problema. Boa sorte, eu tambem preciso de muita!!!

Pessoal já consegui resolver.

Eu fiz o seguinte:

public List<Cliente> listaClientePorNome(String nome){
        Query query = em.createQuery("SELECT c FROM Cliente c WHERE c.nome LIKE '%"+nome+"%'",Cliente.class);
        List<Cliente> lista = new ArrayList<Cliente>();
        for(Object o:query.getResultList()){
            lista.add((Cliente)o);
        }
        return lista;
    }

charles.eduardo, obrigado pelo artigo que você me indicou. Ele não me ajudou totalmente mas ensinou-me coisas que precisava.