@SqlResultSetMapping retorna mesmo objeto

Boa Noite, estou tento um problema, ao utilizar o @SqlResultSetMapping, ele sempre retorna o mesmo objeto. já tentei de tudo e nada.

segue abaixo o código:

@SqlResultSetMapping(name = "teste", entities = { @EntityResult(entityClass = br.com.decoder.modelo.EntradaABordoItens.class, fields = {
		@FieldResult(name = "codigo", column = "codigo"),
		@FieldResult(name = "estoque", column = "codestoque"),
		@FieldResult(name = "quantidade", column = "quantidade") }) })



String sql = "select new Long as codigo, estoque.codigo as codestoque, cast(estoque.quantidade - case when isnull(entradaabordoitens.quantidade) then 0 else entradaabordoitens.quantidade end as decimal(10,2)) as quantidade";
		sql =sql + " from contasreceber ";
		sql =sql + " inner join estoque on estoque.coditem=contasreceber.codigo ";
		sql =sql + " left join entradaabordoitens on entradaabordoitens.codestoque=estoque.codigo ";
		sql =sql + " where numeroPedido=:numeroPedido and (isnull(entradaabordoitens.codestoque) or estoque.quantidade > entradaabordoitens.quantidade) ";
		
		
		Query query = em.createNativeQuery(sql, "teste");
		query.setParameter("numeroPedido", numeroPedido);
		List<EntradaABordoItens> lst = query.getResultList();

o atributo codigo é uma chave primaria.

obrigado a todos desde já!