1
resposta

CllienteRepository retornando campos com Null

Minha classe/entidade Cliente já possui as classes Model, Controller(@RestController), Service, Projection e Repository. Ao executar minha query de SELECT customizada, o objeto retornado tem os campos todos com valores NULL. Essa query customizada é um findById que consulta/retorna campos específicos da entidade.

Ou seja, a query está com sintaxe correta e o objetor está sendo criado sem erros. Mas... porque tudo NULL? Obviamente eu testei usando um ID que existe

ClienteRepository

@Repository
public interface ClienteRepository extends JpaRepository<Cliente, Integer> {

    @Query("SELECT  c.nome, c.sobrenome, c.cpf, c.phone, c.usuario FROM cliente c WHERE c.id = :id")
    ClientesInfoLimitada findByIdLimited(@Param(value = "id")int id);

}

ClientesInfoLimitada

public interface ClientesInfoLimitada {

    String getCpf();
    String getNome();
    String getPhone();
    String getSobrenome();    
    UsuarioInfoLimitada getUsuario();
}

ClienteController

@RestController
@RequestMapping("cliente")
public class ClienteController {
    @Autowired
    private ClienteService CLIENTE_SERVICE;

@GetMapping("/{id}")
    public ResponseEntity<?> findOne(@PathVariable(name = "id")int id) {
        final ClientesInfoLimitada clienteLimit = CLIENTE_SERVICE.findByIdLimited(id);
        return new ResponseEntity<>(clienteLimit, HttpStatus.FOUND);
    }

}
1 resposta

Oi João,

Conseguiu resolver esse seu problema?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software