2 回答
TA贡献1810条经验 获得超5个赞
您@OneToMany对IngredientsList类的注释暗示类中应该有一个ingredientsList字段Ingredient,而实际上没有。在您的架构中,您INGREDIENT_ID的ingredientsList表中有一个字段,这意味着 anIngredientsList只能有一个Ingredient.
我认为你的意思是IngredientsList有很多Ingredient孩子,这意味着ingredient表应该有一个INGREDIENT_LIST_ID字段作为ingredientsList表的外键,并且Ingredients类应该有一个ingredientsList字段。该INGREDIENT_ID字段应该从ingredientsList表中删除。
如果一个IngredientsList应该只有一个Ingredient,那么改变
@OneToMany(mappedBy = "ingredientsList", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
private Set<Ingredient> ingredients;
到
@ManyToOne
@JoinColumn("ingredient_id")
private Ingredient ingredient
根据需要添加cascade和orphanRemoval。@ManyToOne默认情况下,A应该急切地获取连接的数据。
添加回答
举报