package com.qxueyou.scc.admin.course.model; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.hibernate.annotations.CollectionId; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Type; import org.hibernate.annotations.Where; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.qxueyou.scc.admin.classes.model.ClsClass; import com.qxueyou.scc.admin.classroom.model.ClassRoom; import com.qxueyou.scc.base.model.ITrace; import com.qxueyou.scc.teach.subject.model.Subject; /** * The persistent class for the course_schedule database table. * */ @Entity @Table(name="course_schedule") @NamedQuery(name="CourseSchedule.findAll", query="SELECT c FROM CourseSchedule c") @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler"}) public class CourseSchedule implements Serializable ,ITrace { /** * UID */ private static final long serialVersionUID = -6281684815713519425L; /* * 草稿 :0 已发布:1 */ public static final short STATUS_DRAFT = 0; public static final short STATUS_PUBLISH = 1; /* * 非开放 :0 ,开放:1 */ public static final short OPEN_FALSE = 0; public static final short OPEN_TRUE = 1; @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name = "SCHEDULE_ID", unique = true, nullable = false, length = 32) private String scheduleId; @Temporal(TemporalType.TIMESTAMP) @Column(name="BEGIN_TIME") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date beginTime; @Temporal(TemporalType.TIMESTAMP) @Column(name="END_TIME") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @Column(name="FRI_TIME") private String friTime; @Column(name="mark") private String mark; @Column(name="MON_TIME") private String monTime; @Column(name="ROOM_ID") private String roomId; @Column(name="TEACHER_ID") private String teacherId; @Column(name="TEACHER_NAME") private String teacherName; @Column(name="SAT_TIME") private String satTime; private short status; @Column(name="SUBJECT_ID") private String subjectId; @Column(name="SUM_TIME") private String sumTime; @Column(name="THU_TIME") private String thuTime; @Column(name="TUE_TIME") private String tueTime; private short type; @Column(name="OPEN_FLAG") private short openFlag; @Column(name="WED_TIME") private String wedTime; @Column(name = "CREATE_ID", length = 32) private String createId; @Column(name = "CREATOR", nullable = false, length = 100) private String creator; @Column(name = "CREATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** 修改人ID */ @Column(name = "UPDATE_ID", length = 32) private String updateId; /** 修改时间 */ @Column(name = "UPDATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 修改人 */ @Column(name = "UPDATOR", length = 100) private String updator; @Column(name="ORG_ID") private String orgId; /** 删除标志 */ @Column(name = "DELETE_FLAG", nullable = false) @JsonIgnore private boolean deleteFlag; @OneToMany(fetch = FetchType.LAZY, mappedBy = "courseSchedule") @Where(clause="DELETE_FLAG=0") private List reClasses; @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "SUBJECT_ID",referencedColumnName="SUBJECT_ID",updatable=false,insertable=false) @JsonIgnore private Subject subject; @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) @JoinTable(name = "COURSE_SCHEDULE_RE_CLS", joinColumns = { @JoinColumn(name = "SCHEDULE_ID") }, inverseJoinColumns = { @JoinColumn(name = "CLASS_ID") }) @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @CollectionId( columns = @Column(name="RE_ID"), type=@Type(type="string"), generator = "hibernate-uuid" ) @Where(clause="DELETE_FLAG=0") private List classes = new ArrayList<>(); @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "ROOM_ID",referencedColumnName="ROOM_ID",updatable=false,insertable=false) @JsonIgnore private ClassRoom classRoom; @OneToMany(fetch = FetchType.LAZY, mappedBy = "courseSchedule") @Where(clause="DELETE_FLAG=0") private List details; public CourseSchedule() { } public String getScheduleId() { return scheduleId; } public void setScheduleId(String scheduleId) { this.scheduleId = scheduleId; } public String getCreateId() { return this.createId; } public void setCreateId(String createId) { this.createId = createId; } public String getCreator() { return this.creator; } public void setCreator(String creator) { this.creator = creator; } public String getFriTime() { return this.friTime; } public void setFriTime(String friTime) { this.friTime = friTime; } public String getMark() { return this.mark; } public void setMark(String mark) { this.mark = mark; } public String getMonTime() { return this.monTime; } public void setMonTime(String monTime) { this.monTime = monTime; } public String getRoomId() { return this.roomId; } public void setRoomId(String roomId) { this.roomId = roomId; } public String getSatTime() { return this.satTime; } public void setSatTime(String satTime) { this.satTime = satTime; } public short getStatus() { return this.status; } public void setStatus(short status) { this.status = status; } public String getSubjectId() { return this.subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public String getSumTime() { return this.sumTime; } public void setSumTime(String sumTime) { this.sumTime = sumTime; } public String getThuTime() { return this.thuTime; } public void setThuTime(String thuTime) { this.thuTime = thuTime; } public String getTueTime() { return this.tueTime; } public void setTueTime(String tueTime) { this.tueTime = tueTime; } public short getType() { return this.type; } public void setType(short type) { this.type = type; } public String getUpdateId() { return this.updateId; } public void setUpdateId(String updateId) { this.updateId = updateId; } public String getUpdator() { return this.updator; } public void setUpdator(String updator) { this.updator = updator; } public String getWedTime() { return this.wedTime; } public void setWedTime(String wedTime) { this.wedTime = wedTime; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public boolean getDeleteFlag() { return deleteFlag; } public void setDeleteFlag(boolean deleteFlag) { this.deleteFlag = deleteFlag; } public Subject getSubject() { return subject; } public void setSubject(Subject subject) { this.subject = subject; } public String getOrgId() { return orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } public List getReClasses() { return reClasses; } public void setReClasses(List reClasses) { this.reClasses = reClasses; } public String getTeacherId() { return teacherId; } public void setTeacherId(String teacherId) { this.teacherId = teacherId; } public String getTeacherName() { return teacherName; } public void setTeacherName(String teacherName) { this.teacherName = teacherName; } public Date getBeginTime() { return beginTime; } public void setBeginTime(Date beginTime) { this.beginTime = beginTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public List getClasses() { return classes; } public void setClasses(List classes) { this.classes = classes; } public ClassRoom getClassRoom() { return classRoom; } public void setClassRoom(ClassRoom classRoom) { this.classRoom = classRoom; } public List getDetails() { return details; } public void setDetails(List details) { this.details = details; } public short getOpenFlag() { return openFlag; } public void setOpenFlag(short openFlag) { this.openFlag = openFlag; } }