我有以下实体(为此线程的目的进行了简化):
Product.java
@Entity
@Table(name = "Product")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(nullable = false)
private String name;
// getters, setters,...
}
Ingredient.java
@Entity
@Table(name = "Ingredient")
public class Ingredient {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(nullable = false)
private String name;
// getters, setters,...
}
我想添加多对一关系来表示由一定数量的某些成分制成的产品。
类似下面的内容只会包含有关产品由哪些成分制成的信息,但不会告诉我它包含的每种成分的数量。将简单的
amount
属性添加到连接表的最JPA方式是什么?
Product.java
@Entity
@Table(name = "Product")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(nullable = false)
private String name;
@ManyToMany
@JoinTable(
name = "Product_Ingredient",
joinColumns = @JoinColumn(name = "product_id"),
inverseJoinColumns = @JoinColumn(name = "ingredient_id")
)
private List<Ingredient> ingredients;
// getters, setters,...
}