CourseFile.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package nju.seec.helper.entity;
  2. import lombok.Data;
  3. import lombok.experimental.Accessors;
  4. import org.hibernate.annotations.CacheConcurrencyStrategy;
  5. import org.hibernate.annotations.CreationTimestamp;
  6. import javax.persistence.*;
  7. import java.time.LocalDateTime;
  8. /**
  9. * @author cst
  10. */
  11. @Data
  12. @Accessors(chain = true)
  13. @Entity
  14. @Table(name = "course_file", uniqueConstraints = {@UniqueConstraint(name = "course_file_name_unique", columnNames = {"course_id", "file_name"})})
  15. @Cacheable
  16. @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  17. public class CourseFile {
  18. @Id
  19. @GeneratedValue(strategy = GenerationType.IDENTITY)
  20. private Long id;
  21. @Column(name = "course_id", nullable = false)
  22. private Long courseId;
  23. @Column(name = "teacher_id", nullable = false)
  24. private Long teacherId;
  25. @Column(name = "object_name", nullable = false)
  26. private String objectName;
  27. @Column(name = "file_name", nullable = false)
  28. private String fileName;
  29. @Column(name = "create_at", nullable = false, updatable = false)
  30. @CreationTimestamp
  31. private LocalDateTime createAt;
  32. }