package nju.seec.helper.entity; import lombok.Data; import lombok.experimental.Accessors; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; import java.time.LocalDateTime; /** * @author cst */ @Data @Accessors(chain = true) @Entity @Table(name = "course_file", uniqueConstraints = {@UniqueConstraint(name = "course_file_name_unique", columnNames = {"course_id", "file_name"})}) @Cacheable @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class CourseFile { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "course_id", nullable = false) private Long courseId; @Column(name = "teacher_id", nullable = false) private Long teacherId; @Column(name = "object_name", nullable = false) private String objectName; @Column(name = "file_name", nullable = false) private String fileName; @Column(name = "create_at", nullable = false, updatable = false) @CreationTimestamp private LocalDateTime createAt; }