Persistência com JPA e Spring

Olá.
Estou começando a mexer com persistência fazendo a implementação de um projeto cuja camada de negócio eu já terminei.
Estou agora implementando uma interface e não sei se está tudo certo, pois ainda não aprendi a testar essa parte.
Segue um dos códigos que fiz que tenho dúvida:

@Override
	public Produto getProduto(Long id) {
		Query q = em.createNamedQuery("encontrePorCodigo");
		q.setParameter(codigo);
		List<Produto> lc = q.getResultList();
		return lc.size() != 0 ? lc.get(0) : null;
	}

Porquê preciso de usar dois parâmetros?
ps: a query “encontrePorCodigo” está em um arquivo XML dentro do projeto, referenciado corretamente.
também estou usando ANT.

Aproveitando, alguém tem um tutorial bom com JPA/Spring, que dê pelo menos um rumo?

[]'s

Olá Marcelo!

Desculpe, mas não entendi sua dúvida sobre os parâmetros. Em que ponto ele está pedindo dois parâmetros? Seria no createNamedQuery e no setParameter?

Abraço

Thiago

Sinceramente também não entendi sua dúvida… rs