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!