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;
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;
Un produit peut appartenir à plusieurs catégories.
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
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
Est-ce dû à la clef primaire dans la table products_to_categories sur les champs products_id et categories_id ?
Merci.