package fi.otavanopisto.muikku.plugins.evaluation.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;
import javax.validation.constraints.NotNull;
@Entity
@Table (
uniqueConstraints = {
@UniqueConstraint (columnNames = { "studentEntityId", "workspaceEntityId" }),
@UniqueConstraint (columnNames = { "studentEntityId", "workspaceMaterialId" })
}
)
public class SupplementationRequest {
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Date getRequestDate() {
return requestDate;
}
public void setRequestDate(Date requestDate) {
this.requestDate = requestDate;
}
public Long getUserEntityId() {
return userEntityId;
}
public void setUserEntityId(Long userEntityId) {
this.userEntityId = userEntityId;
}
public Long getStudentEntityId() {
return studentEntityId;
}
public void setStudentEntityId(Long studentEntityId) {
this.studentEntityId = studentEntityId;
}
public Long getWorkspaceEntityId() {
return workspaceEntityId;
}
public void setWorkspaceEntityId(Long workspaceEntityId) {
this.workspaceEntityId = workspaceEntityId;
}
public Long getWorkspaceMaterialId() {
return workspaceMaterialId;
}
public void setWorkspaceMaterialId(Long workspaceMaterialId) {
this.workspaceMaterialId = workspaceMaterialId;
}
public String getRequestText() {
return requestText;
}
public void setRequestText(String requestText) {
this.requestText = requestText;
}
public Boolean getArchived() {
return archived;
}
public void setArchived(Boolean archived) {
this.archived = archived;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
@Column(nullable = false)
private Long userEntityId;
@NotNull
@Column(nullable = false)
private Long studentEntityId;
private Long workspaceEntityId;
private Long workspaceMaterialId;
@NotNull
@Column(nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date requestDate;
@Lob
private String requestText;
@NotNull
@Column(nullable = false)
private Boolean archived;
}