Duvidas hibernate cascade

0 respostas
Hebertbc

Boa tarde,
Passei a manha inteira lendo topico com erros do hibernate mais acabei não achando nenhum que se encaixasse ao meu problema. A parada é o seguinte:

Tenho esses 3 objetos

@Entity
@Table(name = "Agendamento")
public class Agendamento implements Serializable {

...

@OneToMany(mappedBy = "idAgendamento", cascade = {CascadeType.ALL, CascadeType.MERGE})
    @Cascade({
        org.hibernate.annotations.CascadeType.ALL,
        org.hibernate.annotations.CascadeType.DELETE_ORPHAN,
        org.hibernate.annotations.CascadeType.SAVE_UPDATE})
    private List<Gruposchecklist> gruposchecklistList;

...
@Entity
@Table(name = "GRUPOSCHECKLIST")
public class Gruposchecklist implements Serializable {
...
@OneToMany(mappedBy = "idGrupo", cascade={CascadeType.ALL, CascadeType.MERGE})
    @Cascade({
        org.hibernate.annotations.CascadeType.ALL,
        org.hibernate.annotations.CascadeType.DELETE_ORPHAN,
        org.hibernate.annotations.CascadeType.SAVE_UPDATE})
    private List<ItensChecklist> itenschecklistList;
...
@Entity
@Table(name = "ITENSCHECKLIST")
public class ItensChecklist implements Serializable {
...
@JoinColumn(name = "idGrupo", referencedColumnName = "ID")
    @ManyToOne(cascade = {CascadeType.ALL, CascadeType.MERGE})
    @Cascade(org.hibernate.annotations.CascadeType.ALL)
    private Gruposchecklist idGrupo;
...

O mesmo cadastra corretamento no banco de dados, o detalhe esta qdo recupero um agendamento, altero os itensChecklist e mando salvar o agendamento:

public synchronized boolean alterar(T obj) {
        transaction.begin();
        session.merge(obj);
        transaction.commit();
        return transaction.wasCommitted();
    }

Acredito eu que com as anotações a seguir deveriam ser salvos mais não acontece. o que poderia estar acontecendo?

@ManyToOne(cascade = {CascadeType.ALL, CascadeType.MERGE})
    @Cascade(org.hibernate.annotations.CascadeType.ALL)

Obrigado pela atenção.

Criado 23 de abril de 2010
Respostas 0
Participantes 1