JPA @ManyToMany

Olá Pessoal, bom dia!

Estou com um problema na minha aplicação, eu preciso fazer uma relação unidirecional da Tabela Curso para ela mesma (ManyToMany), a idéia é que um curso tem outros cursos como pré-requisitos. Fiz a implementação porém o JPA não insere na tabela intermediária, ela sempre fica null. Segue a entidade e as tabelas.

@Entity
@Table(name="CURSO")
public class Curso implements Serializable>{
    private static final long serialVersionUID = 1L;
   
    @Id
    @Column(name="ID_CURSO")
    private int idCurso;

    // outros campos

   @ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
    @JoinTable(name="PRE_REQUISITO",
            joinColumns=@JoinColumn(name="ID_CURSO"),
            inverseJoinColumns=@JoinColumn(name="ID_CURSO_REQUISITO"))
    private Set<Curso> preRequisitos;

Tabelas:

CREATE TABLE CURSO(
    ID_CURSO numeric(8) identity(1,1)  NOT NULL,
    ........
)
;

ALTER TABLE CURSO ADD CONSTRAINT PK_CURSO
    PRIMARY KEY CLUSTERED (ID_CURSO)
;

[/code][code]
CREATE TABLE PRE_REQUISITO (
    ID_CURSO numeric(8),
    ID_CURSO_REQUISITO numeric(8)
)
;

ALTER TABLE PRE_REQUISITO ADD CONSTRAINT FK_PRE_REQUISITO_CURSO
    FOREIGN KEY (ID_CURSO) REFERENCES CURSO(ID_CURSO)
;

ALTER TABLE PRE_REQUISITO ADD CONSTRAINT FK_PRE_REQUISITO_CURSO2
    FOREIGN KEY (ID_CURSO_REQUISITO) REFERENCES CURSO(ID_CURSO)
;

Ao persistir uma entidade Curso com 2 outros cursos como pré-requisito, o cascade funciona porém a tabela PRE_REQUISITO está em branco.

Alguem ja passou por isso?

Obrigado,

Como você está populando os dados nesses objetos?