J'ai un problème avec JPA (EclipseLink). Je ne suis pas en mesure de supprimer une table d'association. Telle est la situation:La table d'association JPA n'est pas supprimable
- Produit 1: n à ProductResource
- Ressource 1: n à ProductResource
j'ai mis les produits et les attributs de ressources ProductResource. Si j'essaie ensuite de supprimer l'objet ProductResource, rien ne se passe (aucun sql n'est généré - aucune exception). Si je commente les deux annotations OneToMany dans ProductResource, je peux supprimer l'objet. Je peux également supprimer l'objet lorsque les attributs de produit et de ressource ne sont pas définis. Si je ne commente que l'annotation au-dessus de l'attribut de ressource, l'objet ProductResource est supprimé lors de la suppression de l'objet produit (cascade = CascadeType.ALL). J'espère que quelqu'un pourrait me donner un indice. Je vous remercie.
ressources du produit:
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;
Produit:
public class Product implements Serializable {
@OneToMany(mappedBy="product", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
ressources:
public class Resource implements Serializable {
@OneToMany(mappedBy="resource", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private List<ProductResource> productResources = new ArrayList<ProductResource>();
Salutations Marcel
Merci beaucoup pour votre explication détaillée. Au début, JPA semble très facile à utiliser. Le diable est dans les détails. C'est génial que des gens comme vous passent leur temps à aider un novice comme moi. Salutations Marcel –