Merge com atributo tipo List

Boa noite pessoal do guj.

Tenho a seguinte situação. Clientes 1 <------> * Telefones, no jpa 2 e MySql 5.

um determinado cliente já tem 3 telefones cadastrados

Se eu resolver atualizar este cliente com merge, retirando 2 telefones, esta alteração não teria que refletir no banco?
ou neste caso tenho que escluir separadamente.
alguém teria alguma sugestão.


public class Clientes implements Serializable {
//....
//Quando tento dar o merge no cliente com telefones a menos, os telefones excluídos não são retirados do banco
//Porém qualquer alteração feita em Clientes é efetuada com sucesso
//Quando dou o merge com telefones a mais também dá
@OneToMany(cascade = CascadeType.ALL, mappedBy = "clientes", fetch = FetchType.LAZY)
    private List<TelefonesCliente> telefonesClienteList;
//....
}

//Método para alteração com generic

public Boolean edit(T entity) {
        Boolean result = false;
        javax.persistence.EntityManager em = getEntityManager();
        try {
            em.getTransaction().begin();
            em.merge(entity);
            //em.flush();
            em.getTransaction().commit();
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
            result = false;
        } finally {
            em.close();
        }
        return result;
    }