Skip to content
Snippets Groups Projects
Commit be699c1b authored by Birk Øvstetun Narvhus's avatar Birk Øvstetun Narvhus
Browse files

added relation table between fridge and product

parent 3b0b2210
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
/**
......@@ -34,10 +35,8 @@ public class Fridge{
@Column(name = "group_id")
long groupId;
@ManyToMany
@JoinTable(name = "fridge_product",
joinColumns = @JoinColumn(name = "fridge_id"),
inverseJoinColumns = @JoinColumn(name = "ean"))
@JsonIgnoreProperties("fridges")
List<Product> products;
@OneToMany
@JoinColumn(name = "ean")
@JsonIgnoreProperties("fridge")
List<FridgeProductAsso> products;
}
package ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
import java.sql.Date;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity(name = "fridge_product")
@IdClass(FridgeProductId.class)
public class FridgeProductAsso {
@Id
@ManyToOne
@MapsId("fridge_id")
@JoinColumn(name = "fridge_id")
private Fridge fridgeId;
@Id
@ManyToOne
@MapsId("ean")
@JoinColumn(name = "ean")
private Product ean;
@Column(name = "purchase_date")
private Date purchaseDate;
}
package ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* This class represents a fridge product association id
* @author Birk
* @version 1.0
* @since 25.04.2023
*/
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
public class FridgeProductId implements Serializable {
private long fridgeId;
private long ean;
}
......@@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.Recipe;
import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
import java.util.List;
......@@ -61,9 +62,10 @@ public class Product{
inverseJoinColumns = @JoinColumn(name = "allergy_name"))
List<Allergy> allergies;
@ManyToMany(mappedBy = "products")
@OneToMany
@JoinColumn(name = "ean")
@JsonIgnoreProperties({"products"})
List<Fridge> fridges;
List<FridgeProductAsso> fridges;
@ManyToMany(mappedBy = "products")
@JsonIgnoreProperties({"products"})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment