0
我需要創建一個M到N映射額外列,與anotations休眠,此表:M到N的映射與使用anotation
Table Food : Columns: id, description, size, type
Table Ingredients: Columns: id, description, price
Table Food_Ingredients: Columns: food_id (FK), ingredient_id (FK), quantity
類:
class Food {
/*mapped fields setter/getters*/
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.DETACH)
@JoinTable(name = "food_ingredient",
joinColumns = { @JoinColumn(name = "food_id", nullable = false) },
inverseJoinColumns = { @JoinColumn(name = "ingredient_id", nullable = false) })
private List<Ingredient> ingredients;
}
class Ingredients {/*mapped fields setter/getters*/}
那麼,如何我可以映射這些實體嗎?
這是最好的方式? – AndreDuarte 2014-10-06 14:28:16
這是我知道的唯一方法。 Food_Ingredients不是聯結表,因爲它包含一些額外的外鍵數據。您需要以某種方式傳達有關數量的信息,因此您需要一個新的實體來完成此操作。 – 2014-10-06 14:42:20
它工作。我將嘗試增強解決方案以獲得簡單的類,但是您的解決方案運行良好。非常感謝。 – AndreDuarte 2014-10-06 19:06:21