Java HashMap 作为 MySQL 中的一个元素通过 JPA
Java HashMap as an element in MySQL via JPA
我已经问过这个问题,但没有得到直接的回答:
.
这个 MySQL 数据库有三个表:Meal
、Ingredient
和 IngredientListAndAmount
。 Meal
中的每一行对应于 IngredientListAndAmount
中的一行。 IngredientListAndAmount
可以存储为 Java HashMap,其中 Ingredient
ID 是键,整数数量是值。
如何在 MySQL 数据库中表示这种依赖关系?
您寻求的通常称为 加入 table。这就是 SQL 表示两个实体之间多对多关系的方式。最纯粹的 pure join tables joining tables A 和 B 由两列组成,一列包含 A_id,另一列包含 B_id。这两列一起构成了join的主键table.
在您的情况下,您将在联接中包含三列 table:
Meal_id pk, fk to Meal table
Ingredient_id pk, fk to Ingredient table
Amount something giving the amount
如果您想要某餐的配料,可以使用这样的查询:
SELECT m.Mealname, i.IngredientName, mi.Amount
FROM Meal AS m
JOIN MealIngredient AS mi ON m.Meal_id = mi.Meal_id
JOIN Ingredient AS i ON mi.Ingredient_id = i.Ingredient_id
我已经问过这个问题,但没有得到直接的回答: .
这个 MySQL 数据库有三个表:Meal
、Ingredient
和 IngredientListAndAmount
。 Meal
中的每一行对应于 IngredientListAndAmount
中的一行。 IngredientListAndAmount
可以存储为 Java HashMap,其中 Ingredient
ID 是键,整数数量是值。
如何在 MySQL 数据库中表示这种依赖关系?
您寻求的通常称为 加入 table。这就是 SQL 表示两个实体之间多对多关系的方式。最纯粹的 pure join tables joining tables A 和 B 由两列组成,一列包含 A_id,另一列包含 B_id。这两列一起构成了join的主键table.
在您的情况下,您将在联接中包含三列 table:
Meal_id pk, fk to Meal table
Ingredient_id pk, fk to Ingredient table
Amount something giving the amount
如果您想要某餐的配料,可以使用这样的查询:
SELECT m.Mealname, i.IngredientName, mi.Amount
FROM Meal AS m
JOIN MealIngredient AS mi ON m.Meal_id = mi.Meal_id
JOIN Ingredient AS i ON mi.Ingredient_id = i.Ingredient_id