Hibernate - @ElementCollection - Странное поведение при удалении / вставке

@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 ничего не менять.

Любые подсказки приветствуются!

39
задан Pascal Thivent 18 September 2010 в 19:30
поделиться