From 4913be0ce970824a8d481ef5abd39d387d500bf8 Mon Sep 17 00:00:00 2001 From: Stian Lyng <stianlyng@protonmail.com> Date: Mon, 24 Apr 2023 14:03:02 +0200 Subject: [PATCH] add many to many relationships --- .../idatt2016/v233/SmartMat/entity/Recipe.java | 15 ++++++++++++++- .../v233/SmartMat/entity/product/Product.java | 6 ++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Recipe.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Recipe.java index de4cc3be..7eb771dc 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Recipe.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Recipe.java @@ -1,15 +1,20 @@ package ntnu.idatt2016.v233.SmartMat.entity; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import ntnu.idatt2016.v233.SmartMat.entity.product.Product; /** * Recipe is an entity class representing a recipe in the system. * - * @author Anders + * @author Anders & Stian * @version 1.0.001 * @since 19.04.2023 * @@ -31,4 +36,12 @@ public class Recipe { @Column(name = "recipe_description") String description; + + @ManyToMany + @JoinTable(name = "recipe_product", + joinColumns = @JoinColumn(name = "recipe_id"), + inverseJoinColumns = @JoinColumn(name = "ean")) + @JsonIgnoreProperties({"recipes"}) + List<Product> products; + } diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java index e065f3cf..8517bf53 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java @@ -8,6 +8,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import ntnu.idatt2016.v233.SmartMat.entity.Fridge; +import ntnu.idatt2016.v233.SmartMat.entity.Recipe; import java.util.List; @@ -64,4 +65,9 @@ public class Product{ @ManyToMany(mappedBy = "products") @JsonIgnoreProperties({"products"}) List<Fridge> fridges; + + @ManyToMany(mappedBy = "products") + @JsonIgnoreProperties({"products"}) + List<Recipe> recipes; + } \ No newline at end of file -- GitLab