Dúvida hibernate

Galera, tenho um dúvida em relação ao update do Hibernate.
Supondo que tenho o relacionamento de 1-n, por exemplo, 1 pessoa tem vários endereços.
Quando vou dar um update na tabela Pessoa que está com uma nova lista de Endereço, sempre vou ter que primeiro deletar os Endereços antigos para depois dar o update em Pessoa ?!
Se sim, qual seria a melhor forma de fazer isso na mesma transação, para garantirmos que a Pessoa não ficará sem Endereço ?!
Pois caso deletasse todos os Endereços com sucesso, mas na hora de dar update em Pessoa acontecesse um rollback, acabaria que a Pessoa ficaria sem Endereço.

Ou o hibernate automáticamente tem como fazer isso ?!

cara vc pode usar o saverOrUpdate ai ele vai verificar as chaves se já existe ele altera e se não existe ele salva.

Cara, mas se eu tiver passando uma lista menor que a que já existe no banco, ele vai deletar do Banco as que eu não estou passando ?!

Não vai deletar, faz um teste básico para ver o funcionamento e confere no banco