Opa 
Tenho o seguinte relacionamento:
@OneToMany(mappedBy="profissional", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private List<VeiculoBean> veiculos = new ArrayList<VeiculoBean>();
Quando eu removo objeto dessa lista, o java remove ele e eu executo um update() através do objeto que possui a Lista de objetos. Creio eu, que esse update tb deveria atualizar minha lista de veiculos e ir até a tabela veiculos e remover o veiculo selecionado.
O Hibernate faz isso ou eu preciso pegar o objeto na Lista e chamar o delete?
[]'s
Se vc usa o mappedBy é porque o relacionamento é bidirecional.
O objeto “Many” Veiculo continua referenciando o objeto “One” mesmo se vc remover o Veiculo da coleção.
Se vc quer apagar o veiculo tem que deletá-lo diretamente, ou então usar a opção de cascade ALL_DELETE_ORPHAN.
Essa opção de Cascade causa algum impacto em questão de desempenho? E ela vai ter o valor como ‘all + delete_orphan’?
Nunca me causou nenhum impacto de desempenho.
É isso mesmo, as opcões são combinadas:
{org.hibernate.annotations.CascadeType.ALL, org.hibernate.annotations.CascadeType.DELETE_ORPHAN}
Opa 
Valeu pela dica, funcionou direitinho aqui.
[]'s
David