Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Classe Usuario e UserDetails para uso com SpringSecurity

Não entendi o porquê da inicilialiazção do atributo List na classe que implementa UserDetails para uso do SpringSecurity. Nos exercícios percebi o seguinte código:

@Entity
public class Usuario implements UserDetails {
    @Id
    private String email;
    private String nome;
    private String senha;
    //aqui ...
    private List<Role> roles = new ArrayList<Role>();

Não seria o correto deixar apenas o private List roles?

private List<Role> roles;

B-)

2 respostas
solução!

Fala Manoel, tudo bem ?

Em geral já inicializamos nossas coleções nos atributos apenas pra não deixar a referência delas nulas, evitando assim um NullPointerException =). Deixamos ali uma lista vazia, mas a referência está presente. É uma prática comum.

Espero ter ajudado. Abraço!

Realmente

As instâncias das entidades com atributos do tipo Collections precisam ser inicializadas. É uma prática super comum, inclusive com outras linguagens de programação. Falta de atenção. Uma simples revisão do JPA aqui e percebi isso. Mesmo assim agradeço tua colaboração. Abração, Rafael.