package com.tencent.model;
import java.sql.Blob;
import java.sql.Timestamp;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "message")
public class Message extends BaseBean {
/**
*
*/
private static final long serialVersionUID = -6889092665781552636L;
private User sender;
private String topic;
private Blob content;
private boolean outdate;
private int type;
private Timestamp sendDate;
private Set<Team> teams = new HashSet<Team>();
private Set<User> acceptors = new HashSet<User>();
public Message() {
super();
}
public Message(String topic, boolean outdate, int type) {
super();
this.topic = topic;
this.outdate = outdate;
this.type = type;
}
@OneToOne
@JoinColumn(name = "id_sender")
public User getSender() {
return sender;
}
public void setSender(User sender) {
this.sender = sender;
}
public Blob getContent() {
return content;
}
public void setContent(Blob content) {
this.content = content;
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
public boolean getOutdate() {
return outdate;
}
public void setOutdate(boolean outdate) {
this.outdate = outdate;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
@Column(name = "send_date")
public Timestamp getSendDate() {
return sendDate;
}
public void setSendDate(Timestamp sendDate) {
this.sendDate = sendDate;
}
@ManyToMany
@JoinTable(name = "message_team", joinColumns = { @JoinColumn(name = "id_message", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "id_team", referencedColumnName = "id") })
public Set<Team> getTeams() {
return teams;
}
public void setTeams(Set<Team> teams) {
this.teams = teams;
}
@ManyToMany
@JoinTable(name = "message_user", joinColumns = { @JoinColumn(name = "id_message", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "id_user", referencedColumnName = "id") })
public Set<User> getAcceptors() {
return acceptors;
}
public void setAcceptors(Set<User> acceptors) {
this.acceptors = acceptors;
}
}