AuditedEntity.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.izouma.awesomeAdmin.domain;
  2. import com.fasterxml.jackson.annotation.JsonIgnore;
  3. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  4. import com.fasterxml.jackson.annotation.JsonInclude;
  5. import com.fasterxml.jackson.annotation.JsonProperty;
  6. import org.hibernate.envers.Audited;
  7. import org.springframework.data.annotation.CreatedBy;
  8. import org.springframework.data.annotation.CreatedDate;
  9. import org.springframework.data.annotation.LastModifiedBy;
  10. import org.springframework.data.annotation.LastModifiedDate;
  11. import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  12. import javax.persistence.EntityListeners;
  13. import javax.persistence.MappedSuperclass;
  14. import java.time.LocalDateTime;
  15. @MappedSuperclass
  16. @Audited
  17. @EntityListeners(AuditingEntityListener.class)
  18. @JsonInclude(JsonInclude.Include.NON_NULL)
  19. @JsonIgnoreProperties(ignoreUnknown = true)
  20. public abstract class AuditedEntity {
  21. @JsonIgnore
  22. @CreatedBy
  23. private String createdBy;
  24. @JsonIgnore
  25. @CreatedDate
  26. private LocalDateTime createdAt;
  27. @JsonIgnore
  28. @LastModifiedBy
  29. private String modifiedBy;
  30. @JsonIgnore
  31. @LastModifiedDate
  32. private LocalDateTime modifiedAt;
  33. public String getCreatedBy() {
  34. return createdBy;
  35. }
  36. public void setCreatedBy(String createdBy) {
  37. this.createdBy = createdBy;
  38. }
  39. @JsonProperty("createdAt")
  40. public LocalDateTime getCreatedAt() {
  41. return createdAt;
  42. }
  43. public void setCreatedAt(LocalDateTime createdAt) {
  44. this.createdAt = createdAt;
  45. }
  46. public String getModifiedBy() {
  47. return modifiedBy;
  48. }
  49. public void setModifiedBy(String modifiedBy) {
  50. this.modifiedBy = modifiedBy;
  51. }
  52. public LocalDateTime getModifiedAt() {
  53. return modifiedAt;
  54. }
  55. public void setModifiedAt(LocalDateTime modifiedAt) {
  56. this.modifiedAt = modifiedAt;
  57. }
  58. }