Problema Hibernate @OneToMany - Elementos orfãos

Bom dia galera!

Estou com um problema ao utilizar o mapeamento via annotations do Hibernate, o oneToMany. Vou generalizar o problema para ver se ele fica mais claro.
Quanto uma entidade A possui uma lista de entidades B, deveria em tese realizar as operacoes feitas em A na entidade B de acordo com o atributo no @CascadeType.

Nesse raciocinio tive um problema ao realizar este mapeamento, onde no mapeamento na entidade A com uma lista de entidades B. Quando um objeto da entidade B e deletado sem deletar A, este objeto nao e deletado no banco de dados, apenas a coluna do join e setada para null.

No mapeamento antigo do hibernate, existia o “all-delete-orphan” que falava ao hibernate para deletar todos os elementos orfaos na entidade b. Porém no annotations, este atributo nao existe, onde existe apenas o “DELETE_ORPHAN”, onde mesmo explicitando este atributo no cascadeType ele nao apaga os elementos orfaos.

Vi vários topicos neste proprio forum com pessoas com o mesmo problema, porem nenhuma solucao 100% funcionando, pelos menos eu testei a maioria e nao tive exito. Por isso gostaria de saber se este problema e uma falha do hibernate, ou se neste tipo de mapeamento existe uma particularidade e se esse o caso, porque esta particularidade.

Para efeitos de consulta, segue o codigo de relacionamento entre estas duas entidades, que eu fiz aqui no meu caso especifico:

 @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
 @JoinColumn(name="id_a")
 @Cascade({org.hibernate.annotations.CascadeType.DELETE_ORPHAN,org.hibernate.annotations.CascadeType.ALL})
  public Collection<EntidadeB> getEntidadesB() {
        return entidadesB;
    }

Muito obrigado!

ola, para quem tiver o mesmo problema…
eu encontrei a solucao…
Na minha aplicacao para salvar ou atualizar um objeto eu utilizava o saveOrUpdate. Infelizmente usando o annotations do hibernate, o CascadeType.DELETE_ORPHAN nao funciona. Eu nao achei nada na net falando a respeito deste problema, apenas pessoas com o mesmo problema. Vasculhando o hibernate a procura de uma solucao para tal problema, resolvi atualizar os objetos atraves do metodo merge, o qual o DELETE_ORPHAN funcionou perfeitamente. Porem, agora na minha aplicacao tenho que controlar os identificadores(ID’s) para saber quando devo salvar um objeto (uso o metodo save) ou atualizar o objeto(uso o metodo merge).
Nao descobri porque o saveOrUpdate tem este problema. Se alguem suber e puder postar ai, sera bem vindo!

Vlw!