Erro Hibernate Many to Many Associação Bidirecional

tenho duas classes… disciplina e curso… ambos com mapeamento many to many bidirecional usando uma 3a tabela com as pks.

Quando eu insiro os dados, tudo ocorre como deveria,

O problema é quando eu listo as disciplinas, ocorre uma StackOverflowError… ele lista as disciplias, que lista os cursos, que lista as disciplinas… assim até acabar a memória.

Alguém sabe como resolver isso??

Obs: estou usando hibernate annotations

Como você mapeou as entidades? Usou o mappedBy?

de um lado eu mapeei normalmente… não lembro agora qual foi o mapeamento usado examatente porque estou no trabalho e esse código está em casa…
mas foi mais ou menos assim…

public class Disciplina {
...
    @ManyToMany(
        targetEntity=Curso.class,
        cascade={CascadeType.PERSIST, CascadeType.MERGE}
    )
    @JoinTable(
        name="DISCIPLINA_CURSO",
        joinColumns={@JoinColumn(name="DISCIPLINA_ID")},
        inverseJoinColumns={@JoinColumn(name="CURSO_ID")}
    )
   public List<Curso> getCursos();

}

public class Curso {

    @ManyToMany(
        
        mappedBy="cursos"
        targetEntity=Disciplina.class
    )
    public List<Disciplina> getDIsciplinas();

}

O mapeamento é esse… igual ao da documentação do hibernate…
será que tem a ver eu colocar lazy=false no mapeamento???

ninguem???

Primeira coisa, NÃO UPE O TÓPICO!

Segundo, coloque o código que você está usando para listar os registros, porque a princípio seu mapeamento está correto.

Terceiro, os relacionamentos OneToMany e ManyToMany são LAZY por default.

Pela intuição, voce mapeou ambos com mappedBy, não havendo owner no relacionamento, gerando um ciclo.

O que gera um comportamento indefinido pela especificação (vai depender da implementação da JPA, no caso do Hibernate este deve ser o comportamento)