У меня есть таблицы, связанные в ассоциации «один ко многим»: Продукт * 1 - n * Инвентарь
@Entity
public class Product {
// Identifier and properties ...
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public Set<Inventory> getInventories() {
return inventories;
}
public void setInventories(Set<Inventory> inventories) {
this.inventories = inventories;
}
public void addInventory(Inventory inventory) {
this.inventories.add(inventory);
inventory.setProduct(this);
}
}
-
@Entity
public class Inventory {
// Identifier and properties ...
private Product product;
@ManyToOne(cascade = CascadeType.ALL, optional = false)
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
}
У меня следующая ситуация:
- Я сохраняю продукт с пустым инвентарем
- Я загружаю этот продукт
- Я добавляю инвентарь к продукту
- Я пытаюсь обновить / объединить продукт
Делая это, я получаю следующее исключение:
HibernateSystemException: a different object with the same identifier value was already associated with the session