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);
}
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());
}
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.