우선 Spring Data Jpa를 보면 Auditing 을 처리할 수 있는 별도의 옵션이 있다.
그건 pass시키고,
http://www.andygibson.net/blog/article/auditing-entities-with-jpa-events/
1. Interface를 하나 만든다.
public interface AuditiingEntity {
public Date getCreatedDate();
public Date setCreatedDate(Date createdDate);
...
}
2. EntityListener를 만들고.
public class AuditingEntityListener {
@PrePersist
public void onPrePersist(Object o) {
populateTimestamp(o);
}
@PreUpdate
..
protected void populateTimestamp(Object o) {
....
}
}
3. Entity에 Listener 지정.
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Review implements AuditingEntity, Serializable {
...
}