Deleção de relacionamento

Tenho essas duas entidades:
@Id
@GeneratedValue
private long id;

@Column(unique=true,nullable=false,length=150)
@NotNull
@Length(min=3, max=150)
@Label(value=“Descrição”)
private String description;

@Column(columnDefinition=“text”)
@Label(value=“Observação”)
private String observation;

@NotNull
@ManyToOne(optional=false)
@Label(value=“Classificação da Patologia”)
private PathologyClassification pathologyClassification;

@OneToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@Label(value=“Diagnosticos”)
private Collection<Diagnosis> diagnosies;

@NotNull
@Label(value=“Ativo”)
private Boolean active;
@Id
@GeneratedValue
private long id;

@Column(unique=true,nullable=false,length=150)
@NotNull
@Length(min=3, max=150)
@Label(value=“Descrição”)
private String description;

@Column(columnDefinition=“text”)
@Label(value=“Observação”)
private String observation;

O Problema e o seguinte eu persisto elas tranquilamente mas na hora de deletar somente a primeira pathology e deletada e o relacionamenteo mas a entidade no banco de diagnosies e mantida, entao somente some os dados de pathology e a referencia entre eles mantendo assim os dados da tabela de diagnosis

Metodo de deleção
public void delete(Pathology entity) throws Exception {
try {
this.manager.remove(this.manager.merge(entity));
} catch (Exception e) {
manager.getTransaction().rollback();
throw new Exception(“Ocorreu um erro!”);
}
}

Na sua anotação @OneToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
Está faltando o orphanRemoval = true que indica que os filhos que não tiverem relacionamento sejam removidos.


ele da como propriedade indefinida

ele da como propriedade indefinida

Então, ve na documentação da versão que tu está usando.
No caso esse atributo é da JPA 2. Se tu estiver usando Hibernate, procure o equivalente que tem, agora JPA 1 acredito que não tenha, que é até uns dos furos da especificação 1.