NamedQuery - No entity found for query

Tenho o seguinte:

PreCadastro.java

@Entity
@Table(name="PRECADASTRO")
@NamedQueries ({
@NamedQuery(
			name="todos.precadastro",
			query="select c from PreCadastro as c"
),
@NamedQuery(
		name="precadastro.por.codigo",
		query="select c from PreCadastro as c where c.codigo = :codigo"
),
@NamedQuery(
		name="precadastro.por.id",
		query="select c from PreCadastro as c where c.id = :id"
)
})

CodigoSessionBean.java

@Stateless
public class CodigoSessionBean implements CodigoSession{ 
	@Resource SessionContext ctx;
	@PersistenceContext	
	private EntityManager em;
	
	@Override
	public PreCadastro buscaCodigo(PreCadastro ccodigo){
		Query q = em.createNamedQuery("precadastro.por.codigo") ;
		q.setParameter("codigo", ccodigo.getCodigo());
		return (PreCadastro)q.getSingleResult();
	}
	
}

Porque resulta o Erro : javax.persistence.NoResultException: No entity found for query ?

Obrigado

Eduardo Debom

Opa,

teria como colocar o stacktrace inteiro ?
Assim da pra analizar melhor o que esta acontecendo…

ah e use as tags code…

Resolvido. Na real estava retornando vazio e eu não estava tratando.

	@Override
	public PreCadastro buscaCodigo(PreCadastro ccodigo){
		Query q = em.createNamedQuery("precadastro.por.codigo") ;
		q.setParameter("codigo", ccodigo.getCodigo());
		try {
			return (PreCadastro)q.getSingleResult();
		} catch ( NoResultException nre ) {
			return null;
		}
	}