@Entity
public class Person {
@ElementCollection
@CollectionTable(name = "PERSON_LOCATIONS", joinColumns = @JoinColumn(name = "PERSON_ID"))
private List<Location> locations;
[...]
}
@Embeddable
public class Location {
[...]
}
Учитывая следующую структуру классов, когда я пытаюсь добавить новое местоположение в список местоположений человека, это всегда приводит к следующим запросам SQL:
DELETE FROM PERSON_LOCATIONS WHERE PERSON_ID = :idOfPerson
и
A lotsa' inserts into the PERSON_LOCATIONS table
Hibernate (3.5. x / JPA 2) удаляет все связанные записи для данного человека и повторно вставляет все предыдущие записи, плюс новую.
У меня была идея, что метод equals / hashcode в Location решит проблему, но это не так. t ничего не менять.
Любые подсказки приветствуются!