rebase and resubmit

Change-Id: I840888ad5aadceaacb5cd64c6472614cd82ffe17
diff --git a/src/main/java/entity/Appeal.java b/src/main/java/entity/Appeal.java
new file mode 100644
index 0000000..36816c4
--- /dev/null
+++ b/src/main/java/entity/Appeal.java
@@ -0,0 +1,35 @@
+package entity;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ForeignKey;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "Appeal")
+public class Appeal {
+    @Id
+    @Column(name = "appeal_id", length = 64, nullable = false)
+    public String appealid;
+
+    @Column(name = "user_id", length = 36, nullable = false)
+    public String appealuserid;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "user_id", referencedColumnName = "user_id", foreignKey = @ForeignKey(name = "fk_appeal_user"), insertable = false, updatable = false)
+    public User user;
+
+    @Lob
+    @Column(name = "content", nullable = false)
+    public String content;
+
+    @Column(name = "file_url", length = 255)
+    public String fileURL;
+
+    @Column(name = "status", nullable = false)
+    public int state; // 0: pending, 1: approved, 2: rejected
+}