休眠 - @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
休眠 (3.5.x / JPA 2) 删除给定人员的所有关联记录,并重新插入所有以前的记录以及新记录。
我的想法是,位置上的等于/哈希码方法可以解决问题,但它并没有改变任何东西。
任何提示都是值得赞赏的!