Hibernate - melhor maneira de deletar item de uma collection e persistir

Bom dia galera,

Sou iniciante com o framework Hibernate e estou tendo um problema com a collection SET, tenho um classe candidato onde tem um List para candidatoFormacoes e um list para candidatoExperiencia. quando vou persistir o objeto candidato, todos os itens de ambas as listas são salvo com sucesso, ou seja tenho um candidato com as formações X e Y, e com as experiencias A e B. Porém o problema quando vou realizar a remoção de um formação ou experiencia:
    class Candidato{
        //Atributos
       List<CandidatoFormacao> candidatoFormacoes;
       List<CandidatoExperiencia> candidatoFormacoes;
    }

Objeto candidato atual contem 2 objeto candidatoFormacao;

candidato
     List[ CandidatoFormacao [Formcacao X] , CandidatoFormacao [Formcacao Y] ]

O usuário exclui da List o CandidatoFormacao [ formacaoX ]

ficando somente:

candidato
     List[ CandidatoFormacao [Formcacao Y] ]

como devo realizar o delete nesse caso, estava tendando realizar o session.saveOrUpdate(this.candidato), porém o hibernate tenta setar para null o campo candidato_id na tabela candidato_formacoes.

teria alguma forma de realizar o delete usando o objeto candidato de forma dinamica, onde o hibernate detectaria a falta dos registro na List, ou teria que realmente manter uma lista de objetos há serem excluido e realizar o while nesta lista para realizar o session.delete(formacaoRemover) ou session.remove(formacaoRemover)?.

Agradeço a quem poder ajudar.

cara

vc provavelmente ta usando hibernate sobre a implementação do JPA 2, e nessa versão a anotação @OneToMany tem uma opção orphanRemoval, basta vc seta-la para true, isso vai fazer que qdo vc atualizar seu objeto principal e tiver sido removido algum objeto da sua lista, o hibernate vai fazer o delete no banco.

espero ter te ajudado

t+

alissonvla , obrigado pela ajuda… realizei a mudança no meu mapeamento e deu certo…

boaa… :lol:
marque o post como resolvido

t+

Cara muito obrigado, deu certo pra mim tambem