У меня есть 2 объекта:
@Entity
@Table(name="product")
public class Product {
private Long id;
private Set<Upgrade> upgrade;
@Id
@Column(name="id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@ManyToMany(mappedBy = "products",
targetEntity = Upgrade.class,
cascade = CascadeType.REFRESH,
fetch = FetchType.EAGER)
public Set<Upgrade> getUpgrade() {
return upgrade;
}
public void setUpgrade(Set<Upgrade> upgrade) {
this.upgrade = upgrade;
}
}
и
@Entity
@Table(name="upgrade")
public class Upgrade {
private Long id;
private Set<Product> products;
@Id
@Column(name="id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@ManyToMany(targetEntity = Product.class, cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
@JoinTable(name = "upgrade_product",
joinColumns = @JoinColumn(name = "upgrade_id"),
inverseJoinColumns = @JoinColumn(name="product_id"))
public Set<Product> getProducts() {
return products;
}
public void setProducts(Set<Product> products) {
this.products = products;
}
}
Мои данные создают их так, что продукт содержит набор из нескольких обновлений.
т.е. P1 {U1, U2, U3, U4} P2 {U1, U3, U5, U7}
Если я удаляю обновление, то все в порядке.Это просто удалено из продукта.Тем не менее, если я удаляю продукт, он пытается удалить все связанные обновления.
Как получить это, чтобы иметь возможность удалить продукт и оставить обновления на месте.