Olá Lucas, agora eu entendi o que você quis dizer. O Tuple me parece um recurso do Java muito interessante. E nesse recurso existe uma serie utilitários que para mim são desconhecidos. Eu tentei pesquisar no YOUTUBE e não encontrei nada muito solido para conseguir entender bem como mexer. Isso está acontecendo porque eu faço parte daqueles programadores que aprenderam tudo com vídeo aulas invés de desenvolver o âmbito de aprender com a própria documentação do Java. Collections e outros conhecimento avançados estavam na minha lista de prioridade de coisas que preciso estudar para o Java, mas em fim meu código ficou desse jeito.
Controller.
@RestController
@RequestMapping("/numero_votos")
public class NumeroVotosMembroResource {
@Autowired
private NumeroVotosMembroRepository numeroVotosMembroRepository;
@GetMapping
public List<Tuple> listar() {
return numeroVotosMembroRepository.ListarNumeros();
}
}
Implementação em questão
@Repository
public class NumeroVotosMembroRepositoryImpl implements NumeroVotosMembroRepositoryQuery{
@PersistenceContext
private EntityManager manager;
@Override
public List<Tuple> ListarNumeros() {
TypedQuery<Tuple> consulta = manager.createQuery("select nvm.nome FROM NumeroVotosMembro nvm", Tuple.class);
List<Tuple> resultado = consulta.getResultList();
return resultado;
}
}
O resultado no postman foi essa:
[
{
"elements": [
{
"position": 0,
"alias": null,
"hibernateType": {
"sqlTypeDescriptor": {
"sqlType": 12
},
"javaTypeDescriptor": {
"mutabilityPlan": {
"mutable": false
},
"comparator": {},
"javaType": "java.lang.String",
"javaTypeClass": "java.lang.String"
},
"name": "string",
"collectionType": false,
"anyType": false,
"returnedClass": "java.lang.String",
"entityType": false,
"componentType": false,
"associationType": false,
"mutable": false,
"registrationKeys": [
"string",
"java.lang.String"
],
"xmlelement": false
},
"javaType": "java.lang.String"
}
]
},
{
"elements": [
{
"position": 0,
"alias": null,
"hibernateType": {
"sqlTypeDescriptor": {
"sqlType": 12
},
"javaTypeDescriptor": {
"mutabilityPlan": {
"mutable": false
},
"comparator": {},
"javaType": "java.lang.String",
"javaTypeClass": "java.lang.String"
},
"name": "string",
"collectionType": false,
"anyType": false,
"returnedClass": "java.lang.String",
"entityType": false,
"componentType": false,
"associationType": false,
"mutable": false,
"registrationKeys": [
"string",
"java.lang.String"
],
"xmlelement": false
},
"javaType": "java.lang.String"
}
]
},
{
"elements": [
{
"position": 0,
"alias": null,
"hibernateType": {
"sqlTypeDescriptor": {
"sqlType": 12
},
"javaTypeDescriptor": {
"mutabilityPlan": {
"mutable": false
},
"comparator": {},
"javaType": "java.lang.String",
"javaTypeClass": "java.lang.String"
},
"name": "string",
"collectionType": false,
"anyType": false,
"returnedClass": "java.lang.String",
"entityType": false,
"componentType": false,
"associationType": false,
"mutable": false,
"registrationKeys": [
"string",
"java.lang.String"
],
"xmlelement": false
},
"javaType": "java.lang.String"
}
]
}
]
Só tinham mesmo três registros no banco de dados. Eu agradeço muito pela sua contribuição, se não fosse por você nunca teria conhecimento desse recurso do Java e vou estudar mais. Mas ainda não conseguir resolver meu problema.