BaseEntity.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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.*;
  13. import java.time.LocalDateTime;
  14. @MappedSuperclass
  15. @Audited
  16. @EntityListeners(AuditingEntityListener.class)
  17. @JsonInclude(JsonInclude.Include.NON_NULL)
  18. @JsonIgnoreProperties(value = {"hibernateLazyInitializer"}, ignoreUnknown = true)
  19. public abstract class BaseEntity {
  20. @Id
  21. @GeneratedValue(strategy = GenerationType.AUTO)
  22. private Long id;
  23. @JsonIgnore
  24. @CreatedBy
  25. private String createdBy;
  26. @JsonIgnore
  27. @CreatedDate
  28. private LocalDateTime createdAt;
  29. @JsonIgnore
  30. @LastModifiedBy
  31. private String modifiedBy;
  32. @JsonIgnore
  33. @LastModifiedDate
  34. private LocalDateTime modifiedAt;
  35. public Long getId() {
  36. return id;
  37. }
  38. public void setId(Long id) {
  39. this.id = id;
  40. }
  41. public String getCreatedBy() {
  42. return createdBy;
  43. }
  44. public void setCreatedBy(String createdBy) {
  45. this.createdBy = createdBy;
  46. }
  47. @JsonProperty("createdAt")
  48. public LocalDateTime getCreatedAt() {
  49. return createdAt;
  50. }
  51. public void setCreatedAt(LocalDateTime createdAt) {
  52. this.createdAt = createdAt;
  53. }
  54. public String getModifiedBy() {
  55. return modifiedBy;
  56. }
  57. public void setModifiedBy(String modifiedBy) {
  58. this.modifiedBy = modifiedBy;
  59. }
  60. public LocalDateTime getModifiedAt() {
  61. return modifiedAt;
  62. }
  63. public void setModifiedAt(LocalDateTime modifiedAt) {
  64. this.modifiedAt = modifiedAt;
  65. }
  66. }