Index: src/main/java/com/example/model/Admin.java
===================================================================
--- src/main/java/com/example/model/Admin.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Admin.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,61 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Getter;
+import lombok.Setter;
+import org.hibernate.Hibernate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import java.util.List;
+import java.util.Objects;
+
+@Getter
+@Setter
+@Entity
+@Table(name = "admini")
+public class Admin extends User{
+
+    @Column(name = "br_organizirani_nastani")
+    Integer number_events;
+
+    @OneToMany(mappedBy = "admin")
+    List<Event> events;
+
+    public Admin(String name, String username, String number, String password, Role role) {
+        super(name, username, number, password, role);
+        this.number_events = 0;
+    }
+
+    public Admin() {
+    }
+
+//    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_ADMIN);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        Admin that = (Admin) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+
+    @Override
+    public String toString() {
+        return "Admin{" +
+                "number_events=" + number_events +
+                ", events=" + events.toString() +
+                ", id=" + id +
+                ", date=" + date +
+                ", name='" + name + '\'' +
+                ", username='" + username + '\'' +
+                ", password='" + password + '\'' +
+                ", number='" + number + '\'' +
+                '}';
+    }
+}
Index: src/main/java/com/example/model/Band.java
===================================================================
--- src/main/java/com/example/model/Band.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Band.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,44 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Data;
+import org.hibernate.Hibernate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
+import java.util.List;
+import java.util.Objects;
+
+@Data
+@Entity
+@Table(name = "bendovi")
+public class Band extends User {
+
+    @Column(name = "cena")
+    Integer price;
+
+    public Band(String name, String username, String number, String password, Integer price, Role role) {
+        super(name, username, number, password, role);
+        this.price = price;
+    }
+
+    @ManyToMany(mappedBy = "bandList")
+    List<Event> eventList;
+    public Band() {
+    }
+
+//    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_BAND);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        Band that = (Band) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+}
Index: src/main/java/com/example/model/Catering.java
===================================================================
--- src/main/java/com/example/model/Catering.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Catering.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,60 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Data;
+import org.hibernate.Hibernate;
+
+import javax.persistence.*;
+import java.util.List;
+import java.util.Objects;
+
+@Data
+@Entity
+@Table(name = "keterinzi")
+public class Catering extends User {
+
+    @Column(name = "cena")
+    Integer price;
+
+    @Column(name = "adresa")
+    String address;
+
+    @OneToMany(mappedBy = "catering_id")
+    List<Client> clients;
+
+    @OneToMany(mappedBy = "catering")
+    List<Waiter> waiters;
+
+    @ManyToMany
+    @JoinTable(name = "ketering_nudi_produkt",
+            joinColumns = @JoinColumn(name = "korisnik_id"),
+            inverseJoinColumns = @JoinColumn(name = "produkt_id"))
+//    @ToString.Exclude
+    List<Product> productList;
+
+    @ManyToMany(mappedBy = "cateringList")
+    List<Event> eventList;
+
+    public Catering(String name, String username, String number, String password,
+                    Integer price, String address, Role role) {
+        super(name, username, number, password, role);
+        this.price = price;
+        this.address = address;
+    }
+
+    public Catering() {
+    }
+
+//    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_CATERING);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        Catering that = (Catering) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+}
Index: src/main/java/com/example/model/Client.java
===================================================================
--- src/main/java/com/example/model/Client.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Client.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,57 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Getter
+@Setter
+@Entity
+@Table(name = "klienti")
+public class Client extends User {
+    @Column(name = "br_organizirani_nastani")
+    Integer number_events;
+
+    @OneToMany(mappedBy = "client")
+    List<Event> event;
+
+    @ManyToOne
+    @JoinColumn(name = "korisnik_id_keterinzi")
+    Catering catering_id;
+
+//    @OneToMany(mappedBy = "client")
+//    List<Event> events;
+
+
+    public Client(String name, String username, String number, String password, Role role) {
+        super(name, username, number, password, role);
+        this.number_events = 0;
+    }
+
+    public Client() {
+
+    }
+
+    //    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_CLIENT);
+//    }
+
+    @Override
+    public String toString() {
+        return "Client{" +
+                "number_events=" + number_events +
+                ", event=" + event.toString() +
+                ", catering_id=" + catering_id +
+                ", id=" + id +
+                ", date=" + date +
+                ", name='" + name + '\'' +
+                ", username='" + username + '\'' +
+                ", password='" + password + '\'' +
+                ", number='" + number + '\'' +
+                '}';
+    }
+}
Index: src/main/java/com/example/model/Drink.java
===================================================================
--- src/main/java/com/example/model/Drink.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Drink.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,26 @@
+package com.example.model;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+@Data
+@Entity
+@Table(name = "pijaloci")
+public class Drink extends Product{
+
+    @Column(name = "dali_alkoholen")
+    Boolean if_alcoholic;
+
+    @Column(name = "procenti_alkohol")
+    Integer percentage_alcohol;
+
+    public Drink(Integer product_id, String name) {
+        super(product_id, name);
+    }
+
+    public Drink() {
+    }
+}
Index: src/main/java/com/example/model/Enumerations/Role.java
===================================================================
--- src/main/java/com/example/model/Enumerations/Role.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Enumerations/Role.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,19 @@
+package com.example.model.Enumerations;
+
+public enum Role{
+
+    ROLE_USER("user"),
+    ROLE_BAND("band"),
+    ROLE_CLIENT("client"),
+    ROLE_ADMIN("admin"),
+    ROLE_PHOTOGRAPHER("photographer"),
+    ROLE_WAITER("waiter"),
+    ROLE_CATERING("catering");
+
+    private String name;
+
+    Role(String s) {
+        this.name=s;
+    }
+}
+
Index: src/main/java/com/example/model/Enumerations/Status.java
===================================================================
--- src/main/java/com/example/model/Enumerations/Status.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Enumerations/Status.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,20 @@
+package com.example.model.Enumerations;
+
+public enum Status {
+    CREATED("Created"),
+    APPROVED("Approved"),
+    REJECTED("Rejected"),
+    PROCESSED("Processed");
+    private String name;
+    Status(String status) {
+        this.name=status;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String toString() {
+        return name;
+    }
+}
Index: src/main/java/com/example/model/Event.java
===================================================================
--- src/main/java/com/example/model/Event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,117 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Status;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.*;
+import java.time.LocalDate;
+import java.util.List;
+
+@Getter
+@Setter
+@Entity
+@Table(name = "nastani")
+public class Event {
+
+    @Id
+    @Column(name = "nastan_id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    Integer id;
+
+    @Enumerated(EnumType.STRING)
+    Status status;
+
+    @Column(name = "vreme")
+    String time;
+    @Column(name = "tip")
+    String type;
+
+    @Column(name = "datum")
+    LocalDate date;
+
+    @Column(name = "opis")
+    String description;
+
+    @ManyToOne
+    @JoinColumn(name = "adresa")
+    Location location;
+
+    @ManyToOne
+    @JoinColumn(name = "korisnik_id_admini")
+    Admin admin;
+
+    @ManyToOne
+    @JoinColumn(name = "korisnik_id_klienti")
+    Client client;
+
+    @ManyToMany
+    @JoinTable(name = "bend_sviri_nastan",
+            joinColumns = @JoinColumn(name = "nastan_id"),
+            inverseJoinColumns = @JoinColumn(name = "korisnik_id"))
+//    @ToString.Exclude
+    List<Band> bandList;
+
+    @ManyToMany
+    @JoinTable(name = "fotograf_slika_nastan",
+            joinColumns = @JoinColumn(name = "nastan_id"),
+            inverseJoinColumns = @JoinColumn(name = "korisnik_id"))
+//    @ToString.Exclude
+    List<Photographer> photographerList;
+
+    @ManyToMany
+    @JoinTable(name = "kelner_raboti_na_nastan",
+            joinColumns = @JoinColumn(name = "nastan_id"),
+            inverseJoinColumns = @JoinColumn(name = "korisnik_id"))
+//    @ToString.Exclude
+    List<Waiter> waiterList;
+
+    @ManyToMany
+    @JoinTable(name = "ketering_rezervira_nastan",
+            joinColumns = @JoinColumn(name = "nastan_id"),
+            inverseJoinColumns = @JoinColumn(name = "korisnik_id"))
+//    @ToString.Exclude
+    List<Catering> cateringList;
+
+    public Event(String time, LocalDate date, Location location, String type,
+                 String description, Client client, List<Band> bandList,
+                 List<Catering> cateringList,
+                 List<Photographer> photographerList, Admin admin
+    ) {
+        this.time = time;
+        this.date = date;
+        this.location = location;
+        this.type = type;
+        this.description = description;
+        this.status = Status.CREATED;
+        this.client = client;
+        this.bandList = bandList;
+        this.cateringList=cateringList;
+        this.photographerList=photographerList;
+        this.admin = admin;
+    }
+
+
+
+    public Event() {
+    }
+
+    @Override
+    public String toString() {
+        return "Event{" +
+                "id=" + id +
+                ", status=" + status +
+                ", time='" + time + '\'' +
+                ", type='" + type + '\'' +
+                ", date=" + date +
+                ", description='" + description + '\'' +
+                ", location=" + location.toString() +
+                ", admin=" + admin.toString() +
+                ", client=" + client.toString() +
+                ", bandList=" + bandList +
+                ", photographerList=" + photographerList +
+                ", waiterList=" + waiterList +
+                ", cateringList=" + cateringList +
+                '}';
+    }
+}
Index: src/main/java/com/example/model/Food.java
===================================================================
--- src/main/java/com/example/model/Food.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Food.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,27 @@
+package com.example.model;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+@Data
+@Entity
+@Table(name = "hrana")
+public class Food extends Product{
+    @Column(name = "vegetarijansko")
+    Boolean vegetarian;
+
+    @Column(name = "kalorii")
+    Integer calories;
+
+    Boolean vegan;
+
+    public Food(Integer product_id, String name) {
+        super(product_id, name);
+    }
+
+    public Food() {
+    }
+}
Index: src/main/java/com/example/model/Location.java
===================================================================
--- src/main/java/com/example/model/Location.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Location.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,37 @@
+package com.example.model;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Getter
+@Setter
+@Entity
+@Table(name = "lokacii")
+public class Location {
+
+    @Id
+    @Column(name = "adresa")
+    String address;
+
+    @Column(name = "cena")
+    Integer price;
+
+    @OneToMany(mappedBy = "location")
+    List<Event> events;
+
+    public Location(String address, Integer price) {
+        this.address = address;
+        this.price = price;
+    }
+
+    public Location() {
+    }
+
+    @Override
+    public String toString() {
+        return address;
+    }
+}
Index: src/main/java/com/example/model/Photographer.java
===================================================================
--- src/main/java/com/example/model/Photographer.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Photographer.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,49 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Data;
+import org.hibernate.Hibernate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
+import java.util.List;
+import java.util.Objects;
+
+@Data
+@Entity
+@Table (name = "fotografi")
+public class Photographer extends User{
+
+    @Column(name = "cena")
+    Integer price;
+
+    String portfolio;
+
+    @ManyToMany(mappedBy = "photographerList")
+    List<Event> eventList;
+
+    public Photographer(String name, String username, String number, String password,
+                        Integer price, String portfolio, Role role) {
+        super(name, username, number, password, role);
+        this.price = price;
+        this.portfolio = portfolio;
+    }
+
+    public Photographer() {
+    }
+
+//    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_PHOTOGRAPHER);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        Photographer that = (Photographer) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+}
Index: src/main/java/com/example/model/Product.java
===================================================================
--- src/main/java/com/example/model/Product.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Product.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,30 @@
+package com.example.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Data
+@Entity
+@Table(name = "produkti")
+@Inheritance(strategy = InheritanceType.JOINED)
+public class Product {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "produkt_id")
+    Integer product_id;
+
+    @Column(name = "ime")
+    String name;
+
+    @ManyToMany(mappedBy = "productList")
+    List<Catering> cateringList;
+    public Product(Integer product_id, String name) {
+        this.product_id = product_id;
+        this.name = name;
+    }
+
+    public Product() {
+    }
+}
Index: src/main/java/com/example/model/User.java
===================================================================
--- src/main/java/com/example/model/User.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/User.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,61 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Getter;
+import lombok.Setter;
+import org.hibernate.Hibernate;
+
+import javax.persistence.*;
+import java.time.LocalDate;
+import java.util.Objects;
+
+@Getter
+@Setter
+@Entity
+@Table(name = "korisnici")
+@Inheritance(strategy = InheritanceType.JOINED)
+public class User {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "korisnik_id")
+    Integer id;
+    @Column(name = "datum_kreiran")
+    LocalDate date;
+    @Column(name = "ime")
+    String name;
+
+    String username;
+    @Column(name = "lozinka")
+    String password;
+    @Column(name = "tel_broj")
+    String number;
+
+    @Enumerated(value = EnumType.STRING)
+    Role role;
+
+    public User(String name, String username, String number, String password, Role role) {
+        this.date = LocalDate.now();
+        this.name = name;
+        this.username = username;
+        this.password = password;
+        this.number = number;
+        this.role = role;
+    }
+
+    public User(){
+
+    }
+
+//    //    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_USER);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        User that = (User) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+}
Index: src/main/java/com/example/model/Waiter.java
===================================================================
--- src/main/java/com/example/model/Waiter.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/Waiter.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,52 @@
+package com.example.model;
+
+import com.example.model.Enumerations.Role;
+import lombok.Data;
+import org.hibernate.Hibernate;
+
+import javax.persistence.*;
+import java.util.List;
+import java.util.Objects;
+
+@Data
+@Entity
+@Table(name = "kelneri")
+public class Waiter extends User{
+
+    @Column(name = "slobodni_denovi")
+    Integer free_day;
+
+    @Column(name = "god_iskustvo")
+    Integer experience;
+
+    @ManyToOne
+    @JoinColumn(name = "korisnik_id_keterinzi")
+    Catering catering;
+
+    @ManyToMany(mappedBy = "waiterList")
+    List<Event> eventList;
+
+    public Waiter(String name, String username, String number, String password, Integer free_day,
+                  Integer experience, Catering catering, Role role) {
+        super(name, username, number, password, role);
+        this.free_day = free_day;
+        this.experience = experience;
+        this.catering = catering;
+    }
+
+    public Waiter() {
+    }
+
+//    @Override
+//    public Collection<? extends GrantedAuthority> getAuthorities() {
+//        return Collections.singletonList(Role.ROLE_WAITER);
+//    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
+        Waiter that = (Waiter) o;
+        return id != null && Objects.equals(id, that.id);
+    }
+}
Index: src/main/java/com/example/model/manytomany/band_plays_on_event.java
===================================================================
--- src/main/java/com/example/model/manytomany/band_plays_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/manytomany/band_plays_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,34 @@
+package com.example.model.manytomany;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "bend_sviri_nastan")
+public class band_plays_on_event implements Serializable {
+
+    @Id
+    @Column(name = "korisnik_id")
+    Integer user_id;
+
+    @Id
+    @Column(name = "nastan_id")
+    Integer event_id;
+
+    String status;
+
+    public band_plays_on_event(Integer user_id, Integer event_id, String status) {
+        this.user_id = user_id;
+        this.event_id = event_id;
+        this.status = status;
+    }
+
+    public band_plays_on_event() {
+    }
+}
Index: src/main/java/com/example/model/manytomany/catering_offers_products.java
===================================================================
--- src/main/java/com/example/model/manytomany/catering_offers_products.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/manytomany/catering_offers_products.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,30 @@
+package com.example.model.manytomany;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "ketering_nudi_produkt")
+public class catering_offers_products implements Serializable {
+    @Id
+    @Column(name = "korisnik_id")
+    Integer user_id;
+
+    @Id
+    @Column(name = "produkt_id")
+    Integer product_id;
+
+    public catering_offers_products(Integer user_id, Integer product_id) {
+        this.user_id = user_id;
+        this.product_id = product_id;
+    }
+
+    public catering_offers_products() {
+    }
+}
Index: src/main/java/com/example/model/manytomany/catering_reserved_for_event.java
===================================================================
--- src/main/java/com/example/model/manytomany/catering_reserved_for_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/manytomany/catering_reserved_for_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,37 @@
+package com.example.model.manytomany;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "ketering_rezervira_nastan")
+public class catering_reserved_for_event implements Serializable {
+    @Id
+    @Column(name = "korisnik_id")
+    Integer user_id;
+
+    @Id
+    @Column(name = "nastan_id")
+    Integer event_id;
+
+    String status;
+
+    @Column(name = "kolicina")
+    Integer quantity;
+
+    public catering_reserved_for_event(Integer user_id, Integer event_id, String status, Integer quantity) {
+        this.user_id = user_id;
+        this.event_id = event_id;
+        this.status = status;
+        this.quantity = quantity;
+    }
+
+    public catering_reserved_for_event() {
+    }
+}
Index: src/main/java/com/example/model/manytomany/photographer_works_on_event.java
===================================================================
--- src/main/java/com/example/model/manytomany/photographer_works_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/manytomany/photographer_works_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,34 @@
+package com.example.model.manytomany;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "fotograf_slika_nastan")
+public class photographer_works_on_event implements Serializable {
+
+    @Id
+    @Column(name = "korisnik_id")
+    Integer user_id;
+
+    @Id
+    @Column(name = "nastan_id")
+    Integer event_id;
+
+    String status;
+
+    public photographer_works_on_event(Integer user_id, Integer event_id, String status) {
+        this.user_id = user_id;
+        this.event_id = event_id;
+        this.status = status;
+    }
+
+    public photographer_works_on_event() {
+    }
+}
Index: src/main/java/com/example/model/manytomany/waiter_works_on_event.java
===================================================================
--- src/main/java/com/example/model/manytomany/waiter_works_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
+++ src/main/java/com/example/model/manytomany/waiter_works_on_event.java	(revision a51a591b1eec04fb1d9d9128cf341696beef9312)
@@ -0,0 +1,33 @@
+package com.example.model.manytomany;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "kelner_raboti_na_nastan")
+public class waiter_works_on_event implements Serializable {
+    @Id
+    @Column(name = "korisnik_id")
+    Integer user_id;
+
+    @Id
+    @Column(name = "nastan_id")
+    Integer event_id;
+
+    String status;
+
+    public waiter_works_on_event(Integer user_id, Integer event_id, String status) {
+        this.user_id = user_id;
+        this.event_id = event_id;
+        this.status = status;
+    }
+
+    public waiter_works_on_event() {
+    }
+}
