Department.java
/*
* +====================================================================+
* | Copyright (C) 2015 Rochester Institute of Technology, |
* | 103 Lomb Memorial Drive, Rochester, NY - 14623 |
* | All Rights Reserved. |
* +====================================================================+
* FILENAME
* Department.java
*
* AUTHOR
* @author mhickson
*
* =====================================================================
*/
package edu.rit.coopeval.model;
import javax.persistence.*;
import java.util.Collection;
import com.fasterxml.jackson.annotation.JsonView;
import edu.rit.coopeval.viewmodel.JsonViewer;
@Entity
@Table(name = "DEPARTMENT")
public class Department extends AuditableEntity {
@Id
@Column(name = "DEPARTMENTID", nullable = false, insertable = true, updatable = true, precision = 0)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "departmentId_seq")
@SequenceGenerator(name = "departmentId_seq", sequenceName = "SEQ_Department_departmentId", allocationSize = 1)
@JsonView(JsonViewer.Summary.class)
private long departmentId;
@Column(name = "DEPARTMENTCODE", nullable = true, insertable = true, updatable = true, length = 4)
@JsonView(JsonViewer.Summary.class)
private String departmentCode;
@Column(name = "DEPARTMENTNAME", nullable = true, insertable = true, updatable = true, length = 64)
@JsonView(JsonViewer.Summary.class)
private String departmentName;
@ManyToOne
@JoinColumn(name = "COLLEGEID")
private College collegeByCollegeId;
@OneToMany(mappedBy = "department")
private Collection<DepartmentTermForm> departmentTermFormsByDepartmentId;
@ManyToMany
@JoinTable(
name = "DEPARTMENTUSERJOIN",
joinColumns = @JoinColumn(name = "DEPARTMENTID", referencedColumnName = "DEPARTMENTID"),
inverseJoinColumns = @JoinColumn(name = "DEPARTMENTUSERID", referencedColumnName = "ID")
)
private Collection<User> evaluators;
public long getDepartmentId() {
return departmentId;
}
public void setDepartmentId(long departmentId) {
this.departmentId = departmentId;
}
public String getDepartmentCode() {
return departmentCode;
}
public void setDepartmentCode(String departmentCode) {
this.departmentCode = departmentCode;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public College getCollegeByCollegeId() {
return collegeByCollegeId;
}
public void setCollegeByCollegeId(College collegeByCollegeId) {
this.collegeByCollegeId = collegeByCollegeId;
}
public Collection<DepartmentTermForm> getDepartmentTermFormsByDepartmentId() {
return departmentTermFormsByDepartmentId;
}
public void setDepartmentTermFormsByDepartmentId(Collection<DepartmentTermForm> departmentTermFormsByDepartmentId) {
this.departmentTermFormsByDepartmentId = departmentTermFormsByDepartmentId;
}
public Collection<User> getEvaluators() {
return evaluators;
}
public void setEvaluators(Collection<User> evaluators) {
this.evaluators = evaluators;
}
}