diff --git a/src/main/java/NTNU/IDATT1002/models/Image.java b/src/main/java/NTNU/IDATT1002/models/Image.java
index fae10d57d5c7dfd5e77468223843dbbda47610b2..9b916316bc1813d4a90980fd5549898c3958ddb6 100644
--- a/src/main/java/NTNU/IDATT1002/models/Image.java
+++ b/src/main/java/NTNU/IDATT1002/models/Image.java
@@ -5,15 +5,113 @@ import javax.persistence.*;
 import java.util.ArrayList;
 import java.util.List;
 
+import java.util.Date;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.validation.constraints.NotBlank;
+import org.hibernate.annotations.CreationTimestamp;
+
+
 @Entity
 @Table(name = "image")
-public class Image {
+public class Image {  
+
+
+  @Id
+  @GeneratedValue(strategy = GenerationType.AUTO)
+  private Long id;
+
+  @ManyToMany
+  private List<ImageAlbum> imageAlbums = new ArrayList<>();;
+
+
+  @NotBlank
+  private int imageID;
+
+  @NotBlank
+  private int albumID;
+
+  @NotBlank
+  private int metaDataID;
+
+  @NotBlank
+  @CreationTimestamp
+  private Date uploadAt;
+
+  @NotBlank
+  private String path;
+
+  public Image() {
+  }
+
+  public Image(int imageID, int albumID, int metaDataId, Date uploadAt, String path) {
+    this.imageID = imageID;
+    this.albumID = albumID;
+    this.metaDataID = metaDataId;
+    this.uploadAt = uploadAt;
+    this.path = path;
+  }
+
+  public Image(Image image) {
+    this(image.getImageID(), image.getAlbumID(), image.getMetaDataID(), image.getUploadAt(), image.getPath());
+  }
 
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private Long id;
+  public void setImageID(int imageID) {
+    this.imageID = imageID;
+  }
 
-    @ManyToMany
-    private List<ImageAlbum> imageAlbums = new ArrayList<>();;
+  public void setAlbumID(int albumID) {
+    this.albumID = albumID;
+  }
 
+  public void setMetaDataID(int metaDataID) {
+    this.metaDataID = metaDataID;
+  }
+
+  public void setUploadAt(Date uploadAt) {
+    this.uploadAt = uploadAt;
+  }
+
+  public void setPath(String path) {
+    this.path = path;
+  }
+
+  public int getImageID() {
+    return imageID;
+  }
+
+  public int getAlbumID() {
+    return albumID;
+  }
+
+  public int getMetaDataID() {
+    return metaDataID;
+  }
+
+  public Date getUploadAt() {
+    return uploadAt;
+  }
+
+  public String getPath() {
+    return path;
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof Image)) {
+      return false;
+    }
+    Image that = (Image) o;
+    return getImageID() == that.getImageID() &&
+        getAlbumID() == that.getAlbumID();
+  }
 }
+
+
+
+
+