提取公共列(审核字段)[Java][JPA]
我们能否将诸如created by、created date、updated by、updated date之类的公共列提取为单独的POJO,并在我们的JPA实体中扩展此POJO提取公共列(审核字段)[Java][JPA],java,hibernate,jpa,Java,Hibernate,Jpa,我们能否将诸如created by、created date、updated by、updated date之类的公共列提取为单独的POJO,并在我们的JPA实体中扩展此POJO 我试过了,但是扩展POJO中的列没有注册。想了解它发生的原因以及解决方法吗?最简单的方法是创建一个带有MappedSuperclass注释的公共超类: import java.util.Date; import javax.persistence.Column; import javax.persistence.Ent
我试过了,但是扩展POJO中的列没有注册。想了解它发生的原因以及解决方法吗?最简单的方法是创建一个带有
MappedSuperclass
注释的公共超类:
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@MappedSuperclass
@EntityListeners(TraceAbleListener.class)
public class TraceAble {
@Temporal(TemporalType.TIMESTAMP)
private Date createdOn;
@Temporal(TemporalType.TIMESTAMP)
private Date updatedOn;
private String createdBy;
private String updatedBy;
//getters setters, or use lombok @Date
}
然后,您只需要创建一个实体侦听器,该侦听器使用适当的JPA事件处理程序来创建、更新日期、用户等(PrePersist、PreUpdate
…),或者您可以将这些方法直接添加到您的公共超类中