package object;

import javax.persistence.*;

@Entity
@Table(name = "User", uniqueConstraints = @UniqueConstraint(name = "uniq_email", columnNames = {"email"}))
@IdClass(UserId.class)
public class User {
    @Id
    @Column(name = "user_id", length = 36, nullable = false)
    public String userid;

    @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;

    @Id
    @Column(name = "email", length = 255, nullable = false)
    public String email;

    @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;
}
