Erro com mapeamento e exclusão de subitens

Estou com o seguinte problema:

Tenho a classe Cursos e um dos atributos é uma List

o problema é o seguinte, se excluir uma linha desta list e der um update no cursos no banco ele zera o campo de ligação entre as tabelas, mas até ai tudo bem que consigo fazer o dao da classe dos participantes remover o item, mas no update ainda não resolvi, pq se eu aplicar um update ele zera o campo de ligação e insere um novo registro, fazendo com que o indice vá crescendo…

estou usando hibernate e banco hsql, as classes estão da seguinte forma:

public class Cursos { private Integer idCurso; private String titulo; private String descricao; private Date dataInicio; private Date dataTermino; private CursosTipos cursoTipo; private List<CursosParticipantes> participantes = new ArrayList<CursosParticipantes>(); ...gets e sets... }

public class CursosParticipantes { private Integer idCursoParticipante; private Pessoas participante; private Date dataInscricao; private Character ativo; private String obs; ...gets e sets... }

e os mapeamentos

[code]<?xml version="1.0" encoding="UTF-8"?>

[/code]

[code]<?xml version="1.0" encoding="UTF-8"?>

[/code]

vlw e abraços…