|
15 | 15 | */
|
16 | 16 | package org.springframework.data.jpa.domain.sample;
|
17 | 17 |
|
18 |
| -import java.util.Arrays; |
19 |
| -import java.util.Date; |
20 |
| -import java.util.HashSet; |
21 |
| -import java.util.Set; |
| 18 | +import org.springframework.lang.Nullable; |
| 19 | + |
| 20 | +import java.time.LocalDateTime; |
| 21 | +import java.time.ZoneId; |
| 22 | +import java.util.*; |
22 | 23 |
|
23 | 24 | import javax.persistence.*;
|
24 | 25 |
|
@@ -114,6 +115,13 @@ public class User {
|
114 | 115 |
|
115 | 116 | @Temporal(TemporalType.DATE) private Date dateOfBirth;
|
116 | 117 |
|
| 118 | + @Temporal(TemporalType.TIMESTAMP) // |
| 119 | + private @Nullable |
| 120 | + Date createdDate; |
| 121 | + |
| 122 | +// @ManyToOne // |
| 123 | +// private @Nullable User createdBy; |
| 124 | + |
117 | 125 | /**
|
118 | 126 | * Creates a new empty instance of {@code User}.
|
119 | 127 | */
|
@@ -141,6 +149,40 @@ public User(String firstname, String lastname, String emailAddress, Role... role
|
141 | 149 | this.createdAt = new Date();
|
142 | 150 | }
|
143 | 151 |
|
| 152 | +// /* |
| 153 | +// * (non-Javadoc) |
| 154 | +// * @see org.springframework.data.domain.Auditable#getCreatedBy() |
| 155 | +// */ |
| 156 | +// public Optional<User> getCreatedBy() { |
| 157 | +// return Optional.ofNullable(createdBy); |
| 158 | +// } |
| 159 | + |
| 160 | +// /* |
| 161 | +// * (non-Javadoc) |
| 162 | +// * @see org.springframework.data.domain.Auditable#setCreatedBy(java.lang.Object) |
| 163 | +// */ |
| 164 | +// public void setCreatedBy(User createdBy) { |
| 165 | +// this.createdBy = createdBy; |
| 166 | +// } |
| 167 | + |
| 168 | + /* |
| 169 | + * (non-Javadoc) |
| 170 | + * @see org.springframework.data.domain.Auditable#getCreatedDate() |
| 171 | + */ |
| 172 | + public Optional<LocalDateTime> getCreatedDate() { |
| 173 | + return null == createdDate ? Optional.empty() |
| 174 | + : Optional.of(LocalDateTime.ofInstant(createdDate.toInstant(), ZoneId.systemDefault())); |
| 175 | + } |
| 176 | + |
| 177 | + /* |
| 178 | + * (non-Javadoc) |
| 179 | + * @see org.springframework.data.domain.Auditable#setCreatedDate(java.time.temporal.TemporalAccessor) |
| 180 | + */ |
| 181 | + public void setCreatedDate(LocalDateTime createdDate) { |
| 182 | + this.createdDate = Date.from(createdDate.atZone(ZoneId.systemDefault()).toInstant()); |
| 183 | + } |
| 184 | + |
| 185 | + |
144 | 186 | /**
|
145 | 187 | * @return the id
|
146 | 188 | */
|
|
0 commit comments