Boa tarde, queria entender porque no relacionamento que fizemos de Topico para resposta (OneToMany), nao precisamos declarar como fetch Eagle e não gerou erro algum na hora de imprimir a resposta( testei inserido uma resposta associada e funcionou), porem quando fizemos o relacionamento usuario/perfil, tentei deixae sem coloca o fetch.Eagle, porem gerou esse erro.
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.alura.forum.model.Usuario.perfis, could not initialize proxy - no Session
at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:602) ~[hibernate-core-5.3.18.Final.jar:5.3.18.Final] ...
Segue relacionamento topico/resposta e usuario/perfil
public class Topico {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String titulo;
private String mensagem;
private LocalDateTime dataCriacao = LocalDateTime.now();
@Enumerated(EnumType.STRING)
private StatusTopico status = StatusTopico.NAO_RESPONDIDO;
@ManyToOne
private Usuario autor;
@ManyToOne
private Curso curso;
@OneToMany(mappedBy = "topico")
@OnDelete(action = OnDeleteAction.CASCADE)
private List<Resposta> respostas = new ArrayList<>();
public class Usuario implements UserDetails {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private String senha;
@ManyToMany
private List<Perfil> perfis = new ArrayList<>();