rebase and resubmit
Change-Id: I840888ad5aadceaacb5cd64c6472614cd82ffe17
diff --git a/src/main/java/entity/User.java b/src/main/java/entity/User.java
new file mode 100644
index 0000000..603ec85
--- /dev/null
+++ b/src/main/java/entity/User.java
@@ -0,0 +1,57 @@
+package entity;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import com.querydsl.core.annotations.QueryEntity;
+
+@QueryEntity
+@Entity(name="User")
+@Table(name = "User")
+public class User {
+ @Id
+ @Column(name = "user_id", length = 36, nullable = false)
+ private String userid;
+
+ @Column(name = "email", nullable = false, length = 255, unique = true)
+ private String email;
+
+ @Column(name = "username", length = 100, nullable = false)
+ public String username;
+
+ @Column(name = "password", length = 255, nullable = false)
+ public String password;
+
+ @Column(name = "gender", nullable = false)
+ public String sex;
+
+ @Transient
+ public String age;
+
+ @Column(name = "school")
+ public String school;
+
+ @Column(name = "avatar_url")
+ public String pictureurl;
+
+ @Column(name = "bio")
+ public String profile;
+
+ @Column(name = "account_status", nullable = false)
+ public boolean accountstate;
+
+ @Column(name = "invite_left", nullable = false)
+ public int invitetimes;
+
+ @OneToOne(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY, optional = false)
+ public UserPT userPT;
+
+ // Constructors, getters, setters
+ public User() {}
+}