Olá, Joaquim!
A anotação @JoinColumn
é utilizada para mapear uma coluna de chave estrangeira em uma entidade associada. No contexto do último vídeo da aula 2 do curso Kotlin e Spring: segurança e infraestrutura, a anotação @JoinColumn
foi utilizada para definir a coluna que faz o relacionamento entre as tabelas usuario
e role
.
Por exemplo, se você tiver a tabela usuario
com uma coluna role_id
que faz referência à tabela role
, você pode utilizar a anotação @JoinColumn
para mapear essa coluna na entidade Usuario
. Dessa forma, você estará informando ao framework que essa coluna é responsável pelo relacionamento entre as tabelas.
A diferença entre @JsonIgnore
e @JsonIgnoreProperties
é que a primeira anotação é utilizada para ignorar um campo específico durante a serialização e a desserialização de um objeto JSON, enquanto a segunda anotação é utilizada para ignorar múltiplos campos de uma classe durante a serialização e a desserialização de um objeto JSON.
Por exemplo, se você tiver uma classe Usuario
com os campos id
, nome
e senha
, e quiser ignorar o campo senha
ao serializar o objeto para JSON, você pode utilizar a anotação @JsonIgnore
no campo senha
. Já se você quiser ignorar tanto o campo nome
quanto o campo senha
, você pode utilizar a anotação @JsonIgnoreProperties({"nome", "senha"})
na classe Usuario
.
Espero ter esclarecido suas dúvidas! Se tiver mais alguma pergunta, é só me dizer. Espero ter ajudado e bons estudos!