У меня проблема с JPA (EclipseLink). Я не могу удалить таблицу ассоциаций. Это ситуация:Таблица ассоциации JPA не может быть удалена
- Продукт 1: п в ProductResource
- Ресурс 1: п в ProductResource
Я первый набор продукта и ресурса атрибуты ProductResource. Если я попытаюсь удалить объект ProductResource, ничего не происходит (никакой sql не генерируется - исключение). Если я прокомментирую аннотации OneToMany в ProductResource, я могу удалить объект. Я также могу удалить объект, если атрибуты продукта и ресурса не установлены. Если я комментирую только аннотацию выше ressource, атрибут объекта ProductResource удаляется при удалении объекта продукта (cascade = CascadeType.ALL). Надеюсь, кто-то может дать мне подсказку. Спасибо.
Ресурс продукта:
public class ProductResource implements Serializable {
@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.MERGE)
private Product product;
@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.MERGE)
private Resource resource;
продукта:
public class Product implements Serializable {
@OneToMany(mappedBy="product", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
Ресурс:
public class Resource implements Serializable {
@OneToMany(mappedBy="resource", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
Привет Марсель
Большое спасибо за подробное объяснение. Сначала JPA выглядит очень прост в использовании. Дьявол в деталях. Отлично, что такие люди, как вы, тратите свое время, помогая новичкам, как я. Поздравления Марсель –