1 package com.entity;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import org.springframework.data.annotation.CreatedBy;
25 import org.springframework.data.annotation.CreatedDate;
26 import org.springframework.data.annotation.LastModifiedBy;
27 import org.springframework.data.annotation.LastModifiedDate;
28 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
29
30 import javax.persistence.*;
31 import java.util.Date;
32
33
34
35
36 @EntityListeners(AuditingEntityListener.class)
37 @MappedSuperclass
38 public abstract class BaseEntity {
39 @Column(name = "created_by_user", nullable = false)
40 @CreatedBy
41 private String createdByUser;
42
43 @Column(name = "created_at", nullable = false)
44 @CreatedDate
45 @Temporal(TemporalType.TIMESTAMP)
46 private Date createdAt;
47
48 @Column(name = "modified_by_user", nullable = false)
49 @LastModifiedBy
50 private String modifiedByUser;
51
52 @Column(name = "modified_at", nullable = false)
53 @LastModifiedDate
54 @Temporal(TemporalType.TIMESTAMP)
55 private Date modifiedAt;
56
57 @Column(name = "version", nullable = false)
58 @Version
59 private Long version;
60
61 public String getCreatedByUser() {
62 return createdByUser;
63 }
64
65 public void setCreatedByUser(String createdByUser) {
66 this.createdByUser = createdByUser;
67 }
68
69 public Date getCreatedAt() {
70 return createdAt;
71 }
72
73 public void setCreatedAt(Date createdAt) {
74 this.createdAt = createdAt;
75 }
76
77 public String getModifiedByUser() {
78 return modifiedByUser;
79 }
80
81 public void setModifiedByUser(String modifiedByUser) {
82 this.modifiedByUser = modifiedByUser;
83 }
84
85 public Date getModifiedAt() {
86 return modifiedAt;
87 }
88
89 public void setModifiedAt(Date modifiedAt) {
90 this.modifiedAt = modifiedAt;
91 }
92 }