Hibernate - @ElementCollection - Comportamento estranho de exclusão / inserção

@Entity
public class Person {

    @ElementCollection
    @CollectionTable(name = "PERSON_LOCATIONS", joinColumns = @JoinColumn(name = "PERSON_ID"))
    private List<Location> locations;

    [...]

}

@Embeddable
public class Location {

    [...]

}

Dada a seguinte estrutura de classes, quando tento adicionar um novo local à lista de Locais da Pessoa, sempre resulta nas seguintes consultas SQL:

DELETE FROM PERSON_LOCATIONS WHERE PERSON_ID = :idOfPerson

E

A lotsa' inserts into the PERSON_LOCATIONS table

O Hibernate (3.5.x / JPA 2) exclui todos os registros associados para a Pessoa especificada e reinsere todos os registros anteriores, além do novo.

Tive a ideia de que o método equals / hashcode em Location resolveria o problema, mas não mudou nada.

Todas as dicas são apreciadas!

questionAnswers(4)

yourAnswerToTheQuestion