package com.tencent.model; import java.sql.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name="user") public class User extends BaseBean { /** * */ private static final long serialVersionUID = 8589012136768444470L; private String username; private String password; private String sex; //only one bite in database 'tencent_test.user' private Date birthday = null; private String email; private String qq; private String phone; private String major; private String grade; private int score; private String description; private int level=1; private String photoUrl; private String miniPhoto; private String address = null; //数据库里记录是否登录状态 private int state=0; private Set<Blog> blogs = new HashSet<Blog>(); private Set<Task> tasks = new HashSet<Task>(); private Set<Message> messages = new HashSet<Message>(); private Set<Team> teams = new HashSet<Team>(); private Set<Resource> resources = new HashSet<Resource>(); public User() { super(); } public User(String username, String password, String sex, String email, String qq, String phone, String major, String grade, int score, String description, int level, int state) { super(); this.username = username; this.password = password; this.sex = sex; this.email = email; this.qq = qq; this.phone = phone; this.major = major; this.grade = grade; this.score = score; this.description = description; this.level = level; this.state = state; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public int getLevel() { return level; } public void setLevel(int level) { this.level = level; } @Column(name = "photo_url") public String getPhotoUrl() { return photoUrl; } public void setPhotoUrl(String photoUrl) { this.photoUrl = photoUrl; } @Column(name = "mini_photo") @Basic(fetch = FetchType.LAZY) public String getMiniPhoto() { return miniPhoto; } public void setMiniPhoto(String miniPhoto) { this.miniPhoto = miniPhoto; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getState() { return state; } public void setState(int state) { this.state = state; } @OneToMany(mappedBy = "author") public Set<Blog> getBlogs() { return blogs; } public void setBlogs(Set<Blog> blogs) { this.blogs = blogs; } @OneToMany(mappedBy = "builder") public Set<Task> getTasks() { return tasks; } public void setTasks(Set<Task> tasks) { this.tasks = tasks; } @ManyToMany(mappedBy = "acceptors") public Set<Message> getMessages() { return messages; } public void setMessages(Set<Message> messages) { this.messages = messages; } @ManyToMany(mappedBy = "members") public Set<Team> getTeams() { return teams; } public void setTeams(Set<Team> teams) { this.teams = teams; } @ManyToMany @JoinTable(name = "user_resource", joinColumns = { @JoinColumn(name = "id_user", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "id_resource", referencedColumnName = "id") }) public Set<Resource> getResources() { return resources; } public void setResources(Set<Resource> resources) { this.resources = resources; } }