1
resposta

[Dúvida] Duvida sobre como identificar erros

Saudações mestre, vou dar um contexto primeiro sobre a minha duvida;

Eu estou fazendo um projeto similar ao da aula para treinar, ao criar uma nova entidade jpa eu estava me deparando com o seguinte erro:

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityFilter': Unsatisfied dependency expressed through field 'repository': Error creating bean with name 'usuarioRepository' defined in com.bss.api.domain.usuario.UsuarioRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager'

Eu achei estranho pois todo o processo de login e segurança estava funcionando normalmente e também não havia feito nenhuma alteração em usuário ou no filtro, apenas na classe de entidade que eu criei.

Então resolvi copiar o projeto e tirar todo o processo de autenticação dessa copia para ver se a minha classe se comportaria de uma maneira diferente, então recebi este erro abaixo e consegui identificar que era uma má configuração de um atributo Double

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: scale has no meaning for SQL floating point types

A minha duvida é a seguinte, como eu posso identificar de uma forma melhor os erros que ocorrem no projeto? eu não consegui entender como o erro na minha classe de jpa estava acusando como securityfilter, no primeiro erro não aparecia nada relacionado ao floating point, que consegui identificar apenas ao retirar todo o processo de autenticação e o filtro.

1 resposta

Olá, Brenno!

Entendo a frustração de lidar com erros que parecem não estar diretamente relacionados ao código que você alterou. Vou tentar te ajudar a entender melhor como identificar esses erros.

  1. Leia a Stack Trace Completa: A stack trace é a sua melhor amiga quando se trata de identificar a origem dos problemas. No seu caso, o erro inicial estava relacionado ao securityFilter, mas a causa raiz estava em uma configuração incorreta do atributo Double. A stack trace completa pode te dar mais informações sobre a cadeia de eventos que levou ao erro.

  2. Dividir e Conquistar: Como você fez, remover partes do código pode ajudar a isolar o problema. Isso é especialmente útil quando você está lidando com várias camadas de configuração, como segurança e JPA.

  3. Verifique Configurações de Entidade: Erros de configuração de entidade podem ser difíceis de identificar porque podem afetar outras partes do sistema. No seu caso, o erro foi causado por uma configuração incorreta de um atributo Double. Verifique se você está usando as anotações corretas, como @Column, e se os tipos de dados estão corretos.

    @Column(precision = 10, scale = 2)
    private Double valor;
    
  4. Logs Detalhados: Aumentar o nível de log pode te ajudar a identificar problemas. No application.properties ou application.yml, você pode configurar o nível de log para DEBUG ou TRACE para obter mais informações.

    logging.level.org.springframework=DEBUG
    logging.level.com.bss.api=DEBUG
    

Espero ter ajudado e bons estudos!