В моей базе данных у меня есть Food
, который имеет отношение многие ко многим с другим ингредиентом Foods
. Эти отношения представлены как таковые ...
+=============Foods============+ +==========Ingredients===========+
| Id | Name | Description | | FoodId | IngredientId | Amount |
+==============================+ +================================+
| 1 | Ice Cream | ........... | | 1 | 2 | 300 |
+------------------------------+ +--------------------------------+
| 2 | Milk | ........... |
+------------------------------+
В модели предметной области, однако, наиболее логичной структурой данных будет карта Foods
и суммы. В конечном итоге, когда я загружаю «Мороженое», мне нужно, чтобы на карте были все ингредиенты Foods
(найденные через таблицу ингредиентов) вместе с соответствующим значением, но у меня возникли проблемы с выяснением, как это сделать.
@Entity
@Table(name="Foods")
public class Food {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="Id")
private int id;
@Column(name="Name")
private String name;
@Column(name="Description")
private String description;
@ManyToMany ???
private Map<Food, Integer> ingredients;