Hibernate - @ElementCollection - Comportamiento extraño de eliminación / inserción
@Entity
public class Person {
@ElementCollection
@CollectionTable(name = "PERSON_LOCATIONS", joinColumns = @JoinColumn(name = "PERSON_ID"))
private List<Location> locations;
[...]
}
@Embeddable
public class Location {
[...]
}
Dada la siguiente estructura de clases, cuando trato de agregar una nueva ubicación a la lista de Ubicaciones de personas, siempre da como resultado las siguientes consultas SQL:
DELETE FROM PERSON_LOCATIONS WHERE PERSON_ID = :idOfPerson
Y
A lotsa' inserts into the PERSON_LOCATIONS table
Hibernate (3.5.x / JPA 2) elimina todos los registros asociados para la Persona dada y vuelve a insertar todos los registros anteriores, más el nuevo.
Tuve la idea de que el método equals / hashcode en Location resolvería el problema, pero no cambió nada.
Cualquier pista es apreciada!