Index: FullyStocked/pom.xml
===================================================================
--- FullyStocked/pom.xml	(revision 9f78098536218672ba58af188d8b0eb33c118717)
+++ FullyStocked/pom.xml	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -26,4 +26,12 @@
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+        </dependency>
 
         <dependency>
@@ -36,4 +44,13 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.validation</groupId>
+            <artifactId>jakarta.validation-api</artifactId>
+            <version>2.0.2</version>
         </dependency>
     </dependencies>
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/AnswerId.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/AnswerId.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/AnswerId.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,16 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.Embeddable;
+import java.io.Serializable;
+@Embeddable
+@Getter
+@Setter
+public class AnswerId implements Serializable {
+    private Long answerid;
+    private Long questionid;
+
+
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/User.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/User.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/User.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,48 @@
+package com.bazi.fullystocked.Models;
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+
+@Inheritance(strategy = InheritanceType.JOINED)
+@Entity
+@Data
+@NoArgsConstructor
+@Table(name="users")
+public class User{
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long userid;
+    @Column(nullable = false)
+    @NotNull(message = "The user must have an first name")
+    @NotEmpty(message = "The user must have an first name")
+    private String firstname;
+    @Column(nullable = false)
+    @NotNull(message = "The user must have an last name")
+    @NotEmpty(message = "The user must have an last name")
+    private String lastname;
+    @Column(nullable = false)
+    @NotNull(message = "The user must have an username")
+    @NotEmpty(message = "The user must have an username")
+    private String username;
+    @Column(nullable = false)
+    @NotNull(message = "The user must have an email")
+    @NotEmpty(message = "The user must have an email")
+    private String email;
+    @Column(nullable = false)
+    @NotNull(message = "The user must have an password")
+    @NotEmpty(message = "The user must have an password")
+    private String password;
+
+    public User(String firstname, String lastname, String username, String email, String password) {
+        this.firstname = firstname;
+        this.lastname = lastname;
+        this.username = username;
+        this.email = email;
+        this.password = password;
+    }
+
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/answers.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/answers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/answers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,30 @@
+package com.bazi.fullystocked.Models;
+
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.EmbeddedId;
+import javax.persistence.Entity;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Entity
+@NoArgsConstructor
+@Data
+public class answers {
+    @EmbeddedId
+    private AnswerId answerId;
+    private LocalDateTime datecreated;
+    @NotNull(message = "The answer must have content")
+    @NotEmpty(message = "The location must have content")
+    @Column(nullable = false)
+    private String answertext;
+
+    public answers(String answertext) {
+        this.datecreated = LocalDateTime.now();
+        this.answertext = answertext;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/articles.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/articles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/articles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,46 @@
+package com.bazi.fullystocked.Models;
+
+import jdk.jfr.Category;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class articles {
+        @Id
+        @GeneratedValue(strategy = GenerationType.IDENTITY)
+        private Long articleid;
+        @Column(nullable = false)
+        @NotNull(message = "Article must have description")
+        @NotEmpty(message = "Article must have description")
+        private String description;
+    @Column(nullable = false)
+    @NotNull(message = "Article must have name")
+    @NotEmpty(message = "Article must have name")
+    private String articlename;
+    private String imageurl;
+    @Column(nullable = false)
+    @NotNull(message = "Article must have max quantity")
+    @NotEmpty(message = "Article must have max quantity")
+    private int maxquantityperlocation;
+    @ManyToMany
+    @JoinTable(name = "article_belongs_to_category",
+            joinColumns = @JoinColumn(name = "articleid"),
+            inverseJoinColumns = @JoinColumn(name = "categoryid")
+    )
+    private List<categories> categoryList=new ArrayList<>();
+
+    public articles(String description, String articlename, String imageurl, int maxquantityperlocation) {
+        this.description = description;
+        this.articlename = articlename;
+        this.imageurl = imageurl;
+        this.maxquantityperlocation = maxquantityperlocation;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/categories.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/categories.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/categories.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,37 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class categories {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long categoryid;
+    @Column(nullable = false)
+    @NotNull(message = "Category must have name")
+    @NotEmpty(message = "Category must have name")
+    private String categoryname;
+    @Column(nullable = false)
+    @NotNull(message = "Category must have description")
+    @NotEmpty(message = "Category must have description")
+    private String description;
+    @ManyToMany(mappedBy = "categoryList")
+    private List<articles> articlesList=new ArrayList<>();
+    @ManyToMany(mappedBy = "categoryList2")
+    private List<suppliers> suppliersList=new ArrayList<>();
+
+
+    public categories(String categoryname, String description) {
+        this.categoryname = categoryname;
+        this.description = description;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoicedarticles.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoicedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoicedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,41 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class invoicedarticles {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long iarticleid;
+    @Column(nullable = false)
+    @NotNull(message = "Invoiced Article must have price")
+    @NotEmpty(message = "Invoiced Article must have price")
+    @Min(0)
+    private int price;
+    @Column(nullable = false)
+    @NotNull(message = "Invoiced Article must have quantity")
+    @NotEmpty(message = "Invoiced Article must have quantity")
+    @Min(0)
+    private int quantity;
+    @ManyToOne
+    @JoinColumn(name = "invoiceid")
+    private invoices invoice;
+    @ManyToOne
+    @JoinColumn(name = "articleid")
+    private articles article;
+
+    public invoicedarticles(int price, int quantity, invoices invoice, articles article) {
+        this.price = price;
+        this.quantity = quantity;
+        this.invoice = invoice;
+        this.article = article;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoices.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoices.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/invoices.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,56 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class invoices {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long invoiceid;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have customer name")
+    @NotEmpty(message = "Invoice must have customer name")
+    private String customername;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have customer phone")
+    @NotEmpty(message = "Invoice must have customer phone")
+    private String customerphone;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have customer street")
+    @NotEmpty(message = "Invoice must have customer street")
+    private String street;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have customer street number")
+    @NotEmpty(message = "Invoice must have customer street number")
+    private int streetnumber;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have customer city")
+    @NotEmpty(message = "Invoice must have customer city")
+    private String city;
+    @Column(nullable = false)
+    @NotNull(message = "Invoice must have creation date")
+    @NotEmpty(message = "Invoice must have creation date")
+    private LocalDateTime datecreate;
+    @ManyToOne
+    @JoinColumn(name = "workeruserid")
+    private workers worker;
+
+    public invoices(String customername, String customerphone,
+                    String street, int streetnumber, String city, workers worker) {
+        this.customername = customername;
+        this.customerphone = customerphone;
+        this.street = street;
+        this.streetnumber = streetnumber;
+        this.city = city;
+        this.datecreate = LocalDateTime.now();
+        this.worker = worker;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/locations.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/locations.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/locations.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,45 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class locations {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long locationid;
+    @Column(nullable = false)
+    @NotNull(message = "Location must have name")
+    @NotEmpty(message = "Location must have name")
+    private String locationname;
+    @Column(nullable = false)
+    @NotNull(message = "Location must have phone")
+    @NotEmpty(message = "Location must have phone")
+    private String phone;
+    @Column(nullable = false)
+    @NotNull(message = "Location must have street")
+    @NotEmpty(message = "Location must have street")
+    private String street;
+    @Column(nullable = false)
+    @NotNull(message = "Location must have street number")
+    @NotEmpty(message = "Location must have street number")
+    private String streetnumber;
+    @Column(nullable = false)
+    @NotNull(message = "Location must have city")
+    @NotEmpty(message = "Location must have city")
+    private String city;
+
+    public locations(String locationname, String phone, String street, String streetnumber, String city) {
+        this.locationname = locationname;
+        this.phone = phone;
+        this.street = street;
+        this.streetnumber = streetnumber;
+        this.city = city;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/managers.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/managers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/managers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,17 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Entity;
+
+@Entity
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class managers extends User{
+    public managers(String firstname, String lastname, String username, String email, String password) {
+        super(firstname, lastname, username, email, password);
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/orderedarticles.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/orderedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/orderedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,51 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class orderedarticles {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long oarticleid;
+    @Column(nullable = false)
+    @NotNull(message = "Ordered Article must have price")
+    @NotEmpty(message = "Ordered Article must have price")
+    @Min(0)
+    private int price;
+    @Column(nullable = false)
+    @NotNull(message = "Ordered Article must have quantity")
+    @NotEmpty(message = "Ordered Article must have quantity")
+    @Min(0)
+    private int quantity;
+    @Column(nullable = false)
+    @NotNull(message = "Ordered Article must have status")
+    @NotEmpty(message = "Ordered Article must have status")
+    private String articlestatus;
+    @ManyToOne
+    @JoinColumn(name = "orederid")
+    private orders order;
+    @ManyToOne
+    @JoinColumn(name = "locationid")
+    private locations location;
+    @ManyToOne
+    @JoinColumn(name = "articleid")
+    private articles article;
+
+    public orderedarticles(int price, int quantity, String articlestatus, orders order, locations location, articles article) {
+        this.price = price;
+        this.quantity = quantity;
+        this.articlestatus = articlestatus;
+        this.order = order;
+        this.location = location;
+        this.article = article;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/orders.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/orders.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/orders.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,51 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class orders {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long orederid;
+    @Column(nullable = false)
+    @NotNull(message = "Order must have status")
+    @NotEmpty(message = "Order must have status")
+    private String status;
+    private String supplierremark;
+    private String managerremark;
+    @Column(nullable = false)
+    @NotNull(message = "Order must have creation date")
+    @NotEmpty(message = "Order must have creation date")
+    private LocalDateTime datecreated;
+    private LocalDateTime dateapproved;
+    @Column(nullable = false)
+    @NotNull(message = "Order must have priority")
+    @NotEmpty(message = "Order must have priority")
+    private String priority;
+    @ManyToOne
+    @JoinColumn(name = "manageruserid")
+    private managers manager;
+    @ManyToOne
+    @JoinColumn(name = "supplieruserid")
+    private suppliers supplier;
+
+    public orders(String status, String supplierremark, String managerremark,
+                  LocalDateTime dateapproved, String priority, managers manager, suppliers supplier) {
+        this.status = status;
+        this.supplierremark = supplierremark;
+        this.managerremark = managerremark;
+        this.datecreated = LocalDateTime.now();
+        this.dateapproved = dateapproved;
+        this.priority = priority;
+        this.manager = manager;
+        this.supplier = supplier;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/questions.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/questions.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/questions.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,44 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class questions {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long questionid;
+    @Column(nullable = false)
+    @NotNull(message = "Question must have content")
+    @NotEmpty(message = "Question must have content")
+    private String questiontext;
+    @Column(nullable = false)
+    @NotNull(message = "Question must have creation date")
+    @NotEmpty(message = "Question must have creation date")
+    private LocalDateTime datecreated;
+    @ManyToOne
+    @JoinColumn(name = "workeruserid")
+    private workers worker;
+    @ManyToOne
+    @JoinColumn(name = "manageruserid")
+    private managers manager;
+    @ManyToMany(mappedBy = "questionsList")
+    private List<storedarticles> storedarticlesList=new ArrayList<>();
+
+
+    public questions(String questiontext, workers worker, managers manager) {
+        this.questiontext = questiontext;
+        this.datecreated = LocalDateTime.now();
+        this.worker = worker;
+        this.manager = manager;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/storedarticles.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/storedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/storedarticles.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,43 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+@Entity
+@NoArgsConstructor
+public class storedarticles {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long sarticleid;
+    @Column(nullable = false)
+    @NotNull(message = "Stored Article must have quantity")
+    @NotEmpty(message = "Stored Article must have quantity")
+    @Min(0)
+    private int quantity;
+    @ManyToOne
+    @JoinColumn(name = "locationid")
+    private locations locations;
+    @ManyToOne
+    @JoinColumn(name = "articleid")
+    private articles article;
+    @ManyToMany
+    @JoinTable(name = "question_availability_for_storedarticle",
+            joinColumns = @JoinColumn(name = "sarticleid"),
+            inverseJoinColumns = @JoinColumn(name = "questionid")
+    )
+    private List<questions> questionsList=new ArrayList<>();
+
+    public storedarticles(int quantity, locations locations, articles article) {
+        this.quantity = quantity;
+        this.locations = locations;
+        this.article = article;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/suppliers.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/suppliers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/suppliers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,53 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class suppliers extends User{
+    @Column(nullable = false)
+    @NotNull(message = "Supplier must have supplierInfo")
+    @NotEmpty(message = "Supplier must have supplierInfo")
+    private String supplierinfo;
+    @Column(nullable = false)
+    @NotNull(message = "Supplier must have phone")
+    @NotEmpty(message = "Supplier must have phone")
+    private String phone;
+    @Column(nullable = false)
+    @NotNull(message = "Supplier must have street")
+    @NotEmpty(message = "Supplier must have street")
+    private String street;
+    @Column(nullable = false)
+    @NotNull(message = "Supplier must have street number")
+    @NotEmpty(message = "Supplier must have street number")
+    private int sttreetnumber;
+    @Column(nullable = false)
+    @NotNull(message = "Supplier must have street city")
+    @NotEmpty(message = "Supplier must have street city")
+    private String city;
+    @ManyToMany
+    @JoinTable(name = "supplier_supplies_category",
+            joinColumns = @JoinColumn(name = "userid"),
+            inverseJoinColumns = @JoinColumn(name = "categoryid")
+    )
+    private List<categories> categoryList2=new ArrayList<>();
+
+    public suppliers(String firstname, String lastname, String username, String email, String password, String supplierinfo, String phone, String street, int sttreetnumber, String city) {
+        super(firstname, lastname, username, email, password);
+        this.supplierinfo = supplierinfo;
+        this.phone = phone;
+        this.street = street;
+        this.sttreetnumber = sttreetnumber;
+        this.city = city;
+    }
+}
Index: FullyStocked/src/main/java/com/bazi/fullystocked/Models/workers.java
===================================================================
--- FullyStocked/src/main/java/com/bazi/fullystocked/Models/workers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
+++ FullyStocked/src/main/java/com/bazi/fullystocked/Models/workers.java	(revision 2a50a21c9fb184485a08df7aee090ae91841eda0)
@@ -0,0 +1,24 @@
+package com.bazi.fullystocked.Models;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.validation.constraints.NotNull;
+
+@Entity
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class workers extends User{
+    @Column(nullable = false)
+    @NotNull(message = "The worker must have location")
+    private int locationid;
+
+    public workers(String firstname, String lastname, String username, String email, String password, int locationid) {
+        super(firstname, lastname, username, email, password);
+        this.locationid = locationid;
+    }
+}
