48 lines
970 B
Java
48 lines
970 B
Java
|
package com.cubetiqs.demo.domain;
|
||
|
|
||
|
import org.springframework.data.domain.Persistable;
|
||
|
|
||
|
import javax.persistence.*;
|
||
|
import java.io.Serializable;
|
||
|
import java.util.Date;
|
||
|
|
||
|
@MappedSuperclass
|
||
|
public class BaseEntity<ID extends Serializable> implements Serializable, Persistable<ID> {
|
||
|
@Id
|
||
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||
|
private ID id;
|
||
|
|
||
|
@Column(name = "created_date")
|
||
|
@Temporal(TemporalType.TIMESTAMP)
|
||
|
private Date createdDate;
|
||
|
|
||
|
public void setId(ID id) {
|
||
|
this.id = id;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ID getId() {
|
||
|
return id;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean isNew() {
|
||
|
return id == null;
|
||
|
}
|
||
|
|
||
|
public Date getCreatedDate() {
|
||
|
return createdDate;
|
||
|
}
|
||
|
|
||
|
public void setCreatedDate(Date createdDate) {
|
||
|
this.createdDate = createdDate;
|
||
|
}
|
||
|
|
||
|
@PrePersist
|
||
|
public void beforeSave() {
|
||
|
if (createdDate == null) {
|
||
|
createdDate = new Date();
|
||
|
}
|
||
|
}
|
||
|
}
|