Bonjour,
J'ai 3 tables : products, categories, products_to_categories
et voici les entités correspondantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @Entity public class Products implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "products_id") private Integer productsId; @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name = "products_id", referencedColumnName="products_id") private ProductsToCategories productsToCategories;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @Entity public class ProductsToCategories implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId protected ProductsToCategoriesPK productsToCategoriesPK;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @Embeddable public class ProductsToCategoriesPK implements Serializable { @Basic(optional = false) @Column(name = "products_id") private int productsId; @Basic(optional = false) @Column(name = "categories_id") private int categoriesId;Un produit peut appartenir à plusieurs catégories.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Categories implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "categories_id") private Integer categoriesId;
J'aimerais récupérer les produits qui appartiennent à une catégorie. J'ai donc créé une jointure OneToMany dans l'entité Products. Mais j'ai cette erreur
Est-ce dû à la clef primaire dans la table products_to_categories sur les champs products_id et categories_id ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: entities.Products.productsToCategories
Merci.
Partager