| 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() {} |
| } |