Erro ResultSet na chamada de StoredProcedure com SpringBoot Data

Estou tentando trazer uma lista de dados do banco através de uma procedure mas está dando erro de resultSet e não faço ideia do porque

A procedure está certo, quando chamo no banco os dados vem certos, são tres colunas, que são: qtd, nome e valor

atuacao_id é a chave usada pra fazer um join na procedure

     java.sql.SQLException: Column 'atuacao_id' not found.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql- 
     connector-java-8.0.27.jar:8.0.27]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql- 
     connector-java-8.0.27.jar:8.0.27]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql- 
    connector-java-8.0.27.jar:8.0.27]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql- 
    connector-java-8.0.27.jar:8.0.27]
at com.mysql.cj.jdbc.result.ResultSetImpl.findColumn(ResultSetImpl.java:581) ~[mysql-connector- 
     java-8.0.27.jar:8.0.27]
at com.mysql.cj.jdbc.result.ResultSetImpl.getLong(ResultSetImpl.java:854) ~[mysql-connector- 
     java-8.0.27.jar:8.0.27]
at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java) ~[HikariCP- 
    4.0.3.jar:na]

o endPoint

    @GetMapping("/gastoPorAtuacao")
    public List<AtuacaoCustomDto> gastoPorAtuacao() {
	    List<AtuacaoCustom> s = atuacaoCustomRepository.gastoPorAtuacao();
	    return AtuacaoCustomDto.converter(s);
    }

Repositorio (extends JpaRepository)

    @Query(value = "call gastos_por_atuacao; ", nativeQuery = true)
    List<AtuacaoCustom> gastoPorAtuacao();

o Dto

    public class AtuacaoCustomDto {

    private long qtd;
    private String nome;
    private BigDecimal valor;

    // getters and setters 

    public AtuacaoCustomDto() {	}

    public AtuacaoCustomDto(AtuacaoCustom a) {
	  this.qtd = a.getQtd();
	  this.nome = a.getNome();
	  this.valor = a.getValor();
    }
    public AtuacaoCustomDto(long qtd, String nome, BigDecimal valor) {
 	  this.qtd = qtd;
	  this.nome = nome;
	  this.valor = valor;
    }
    public static List<AtuacaoCustomDto> converter(List<AtuacaoCustom> s) {
     	return s.stream().map(AtuacaoCustomDto::new).collect(Collectors.toList());
    }

   }

Como é a class AtuacaoCustom?

@Entity
@Table(name = "tbl_atuacao")
public class AtuacaoCustom {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto-increment
@Column(name = "atuacao_id")
private long id;

@Column(name = "nome_atuacao")
@NotNull
@NotEmpty(message = "Atuacao não pode ser vazio")
@Size(min = 2, max = 100, message = "Atuacao não pode ultrapassar 100 caracteres")
private String nome;

@Column(name = "descricao_atuacao")
@NotNull
@NotEmpty(message = "Atuacao não pode ser vazio")
@Size(max = 100, message = "Atuacao não pode ultrapassar 150 caracteres")
private String descricao;

@Column(name = "data_criacao")
private LocalDateTime dataCriacao = LocalDateTime.now();

@Column(name = "data_ultima_alteracao")
private LocalDateTime dataUltimaAlteracao = LocalDateTime.now();

private BigDecimal valor;
private long qtd;

   //getters and setters

public AtuacaoCustom(long qtd, String nome, BigDecimal valor) {
	this.qtd = qtd;
	this.nome = nome;
	this.valor = valor;
}

}

É uma classe com getters and setters

E tem uma coluna mapeada “atuacao_id” que não é retornada no teu procedure

essa classe leva um @Entity que exige um @Id não posso tirar ele é minha classe de entidade
por isso chamo um DTO onde tem os dados que realmente retornam da procedure

ate tentei fazer o endpoint assim:

 	@GetMapping("/gastoPorAtuacao")
    public List<AtuacaoCustomDto> gastoPorAtuacao() {
	     return AtuacaoCustomDto.converter(atuacaoCustomRepository.gastoPorAtuacao());
    }

mas deu o mesmo erro

Mesmo tirando tudo ainda preciso do @Entity e do @Id consequentemente, da outro erro se tiro

@Entity
public class AtuacaoCustom {

@Id
private long id;
private String nome;
private String descricao;
private LocalDateTime dataCriacao = LocalDateTime.now();
private LocalDateTime dataUltimaAlteracao = LocalDateTime.now();
private BigDecimal valor;
private long qtd;

//getters and setters

public AtuacaoCustom(long qtd, String nome, BigDecimal valor) {
     this.qtd = qtd;
     this.nome = nome;
     this.valor = valor;
}

}

O problema aqui é que não podes usar essa entidade para o retorno do procedure uma vez que essa entidade tem mais colunas mapeadas do que as retornadas pelo teu procedure.
Tens de criar uma entidade específica para isso.