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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping SYSTEM "classpath://org/hibernate/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.rcSYS.beans">
<class name="Cursos" table="tabCursos">
<id name="idCurso" column="idCurso">
<generator class="increment"/>
</id>
<property name="titulo" column="titulo" type="string"/>
<property name="descricao" column="descricao" type="string"/>
<property name="dataInicio" column="dataInicio" type="date"/>
<property name="dataTermino" column="dataTermino" type="date"/>
<many-to-one name="cursoTipo" column="cursoTipo" class="CursosTipos"/>
<bag name="participantes" table="tabCursosParticipantes" cascade="all">
<key column="idCurso"></key>
<one-to-many class="CursosParticipantes"/>
</bag>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping SYSTEM "classpath://org/hibernate/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.rcSYS.beans">
<class name="CursosParticipantes" table="tabCursosParticipantes">
<id name="idCursoParticipante" column="idCursoParticipante">
<generator class="increment"/>
</id>
<property name="obs" column="obs" type="string"/>
<property name="dataInscricao" column="dataInscricao" type="date"/>
<property name="ativo" column="ativo" type="char"/>
<many-to-one name="participante" column="participante" class="Pessoas"/>
</class>
</hibernate-mapping>
vlw e abraços...