1
resposta

Em relação ao metodo findByTituloContaingIgnoreCase

private void buscarSeriePorTitulo() {
        System.out.println("Escolha uma série pelo nome:");
        var nomeSerie = leitura.nextLine();
        Optional<Serie> serieBuscada = repositorio.findByTituloContainingIgnoreCase(nomeSerie);

        if (serieBuscada.isPresent()) {
            System.out.println("Dados da serie:" + serieBuscada.get());
        }else {
            System.out.println("Série não encontrada!");
        }
    }

Atraves do nome do método (findByTituloContainingIgnoreCase) o java já consegue ver se existe algo parecido no banco de dados ignorando letras maiuculas ou minuculas ou isso é algo que outra parte do codigo faz?

1 resposta

Oii, Guilherme, tudo bem?

Sim, o próprio nome do método já indica como ele deve se comportar com relação ao banco de dados. Esse método é um exemplo de como você pode utilizar consultas derivadas (Derivative Queries) para simplificar a busca de dados.

O IgnoreCase indica que a busca deve ser insensível a maiúsculas e minúsculas.

Portanto, ao usar findByTituloContainingIgnoreCase, o Spring Data JPA automaticamente configura a consulta SQL (ou o JPQL) para usar LIKE e UPPER (ou funções equivalentes, dependendo do banco de dados), para buscar de forma que ignore as diferenças entre maiúsculas e minúsculas. Isso é feito internamente pelo framework, então você não precisa se preocupar em implementar essa lógica manualmente no seu código.

Se outra dúvida surgir, estamos aqui.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.