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