Hibernate - @ElementCollection - Seltsames Lösch- / Einfügeverhalten

@Entity
public class Person {

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

    [...]

}

@Embeddable
public class Location {

    [...]

}

Wenn ich in der folgenden Klassenstruktur versuche, der Liste der Standorte einer Person einen neuen Standort hinzuzufügen, führt dies immer zu folgenden SQL-Abfragen:

DELETE FROM PERSON_LOCATIONS WHERE PERSON_ID = :idOfPerson

Un

A lotsa' inserts into the PERSON_LOCATIONS table

Hibernate (3.5.x / JPA 2) löscht alle verknüpften Datensätze für die angegebene Person und fügt alle vorherigen Datensätze sowie den neuen erneut ein.

Ich hatte die Idee, dass die Methode equals / hashcode on Location das Problem lösen würde, aber es hat nichts geändert.

Hinweise sind willkommen!

Antworten auf die Frage(8)

Ihre Antwort auf die Frage