我遇到了问题。我有两个类具有相同的@OneToMany关系。 Hibernate创建4个表:product,product_categorie,categorie,categorie_product。
在我的情况下,我只需要3个表:product,categorie和product_categorie。
这是我的课程图:
我用Java编写的代码:
stage.on("stagemousedown", function (event) {
console.log("mousedown");
});
stage.on("stagemouseup", function (event) {
console.log("click");
});
就我而言,我需要归档以下内容:
一个产品属于1个或多个类别
一个类别包含0个或更多产品
我在代码中做错了吗?
这是我第一次使用休眠模式,希望您能理解。
答案 0 :(得分:3)
亚当,
您需要的是ManyToMany关系,而不是OneToMany。与JoinTable一起映射产品和类别之间的关系。
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int product_id;
private String naam;
private String omschrijving;
private double prijs;
@OneToMany(mappedBy = "product_m")
private List<Aanbieding> aanbiedingen;
@ManyToMany(cascade = { CascadeType.ALL })
@JoinTable(
name = "product_categories",
joinColumns = { @JoinColumn(name = "product_id") },
inverseJoinColumns = { @JoinColumn(name = "categorie_id") }
)
private List<Categorie> categories;
}
@Entity
public class Categorie {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int categorie_id;
private String naam;
private String omschrijving;
@ManyToMany(mappedBy = "categories")
private List<Product> producten;
}