Prezados,
estou passando por um problema no momento de atualizar um item Pai. O que ocorre… tenho uma classe chamada Grupo que possui um array de Sessão, quando retiro um item deste array e atualizo Grupo simplesmente o hibernate não exclui este do banco. Segue abaixo as classes:
Grupo
public class Grupo implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE")
@Column(name = "id_grupo")
private Long id;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "cd_turno")
private Turno turno;
@OneToMany(cascade ={CascadeType.ALL}, mappedBy = "grupo",targetEntity=Sessao.class)
@OrderBy("data asc")
private List<Sessao> sessoes = new ArrayList<Sessao>();
@Column(name = "cd_visual_grupo")
private String codigoVisual;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "cd_instituicao")
private InstituicaoTabagismo instituicao = new InstituicaoTabagismo();
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "cd_estado_grupo")
private EstadoGrupo estadoGrupo = new EstadoGrupo(new Long(1));
@ManyToMany(targetEntity = Paciente.class, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "tabagismo_grupo_paciente", schema = "tabagismo", joinColumns = {@JoinColumn(name = "cd_grupo")}, inverseJoinColumns = {@JoinColumn(name = "cd_paciente")})
@OrderBy("nome asc")
private List<Paciente> pacientes = new ArrayList<Paciente>();
@ManyToMany(targetEntity = AgenteTabagismo.class, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "tabagismo_grupo_agente_tabagismo", schema = "tabagismo", joinColumns = {@JoinColumn(name = "cd_grupo")}, inverseJoinColumns = {@JoinColumn(name = "cd_agente_tabagismo")})
private List<AgenteTabagismo> coordenadores = new ArrayList<AgenteTabagismo>();
Sessao
public class Sessao implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE")
@Column(name="id_sessao")
private Long id;
@Column(name="dt_sessao")
@Temporal(value = TemporalType.DATE)
private Date data;
@ManyToOne
@JoinColumn(name="cd_grupo")
private Grupo grupo;
@OneToMany(mappedBy = "sessao", cascade=CascadeType.ALL)
private List<Presenca> presencas = new ArrayList<Presenca>();
vale lembrar que eu ja tentei utilizar delete orphans.
desde já agradeço.