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