BaseEntity.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.izouma.nineth.domain;
  2. import com.alibaba.excel.annotation.ExcelIgnore;
  3. import com.alibaba.excel.annotation.ExcelProperty;
  4. import com.fasterxml.jackson.annotation.JsonIgnore;
  5. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  6. import com.fasterxml.jackson.annotation.JsonProperty;
  7. import org.hibernate.envers.Audited;
  8. import org.springframework.data.annotation.CreatedBy;
  9. import org.springframework.data.annotation.CreatedDate;
  10. import org.springframework.data.annotation.LastModifiedBy;
  11. import org.springframework.data.annotation.LastModifiedDate;
  12. import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  13. import javax.persistence.*;
  14. import java.time.LocalDateTime;
  15. @MappedSuperclass
  16. @Audited
  17. @EntityListeners(AuditingEntityListener.class)
  18. //@JsonInclude(JsonInclude.Include.NON_NULL)
  19. @JsonIgnoreProperties(value = {"hibernateLazyInitializer"}, ignoreUnknown = true)
  20. @SequenceGenerator(name = "hibernate_sequence", sequenceName = "hibernate_sequence", allocationSize = 100)
  21. public abstract class BaseEntity {
  22. @ExcelProperty("ID")
  23. @Id
  24. @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hibernate_sequence")
  25. private Long id;
  26. @ExcelIgnore
  27. @JsonIgnore
  28. @CreatedBy
  29. private String createdBy;
  30. @ExcelProperty("创建时间")
  31. @JsonIgnore
  32. @CreatedDate
  33. private LocalDateTime createdAt;
  34. @ExcelIgnore
  35. @JsonIgnore
  36. @LastModifiedBy
  37. private String modifiedBy;
  38. @ExcelIgnore
  39. @JsonIgnore
  40. @LastModifiedDate
  41. private LocalDateTime modifiedAt;
  42. @ExcelIgnore
  43. @Column(columnDefinition = "bit(1) default 0")
  44. private boolean del;
  45. public Long getId() {
  46. return id;
  47. }
  48. public void setId(Long id) {
  49. this.id = id;
  50. }
  51. public String getCreatedBy() {
  52. return createdBy;
  53. }
  54. public void setCreatedBy(String createdBy) {
  55. this.createdBy = createdBy;
  56. }
  57. @JsonProperty("createdAt")
  58. public LocalDateTime getCreatedAt() {
  59. return createdAt;
  60. }
  61. public void setCreatedAt(LocalDateTime createdAt) {
  62. this.createdAt = createdAt;
  63. }
  64. public String getModifiedBy() {
  65. return modifiedBy;
  66. }
  67. public void setModifiedBy(String modifiedBy) {
  68. this.modifiedBy = modifiedBy;
  69. }
  70. public LocalDateTime getModifiedAt() {
  71. return modifiedAt;
  72. }
  73. public void setModifiedAt(LocalDateTime modifiedAt) {
  74. this.modifiedAt = modifiedAt;
  75. }
  76. public boolean isDel() {
  77. return del;
  78. }
  79. public void setDel(boolean del) {
  80. this.del = del;
  81. }
  82. }