@PrePersist 注解
用于为相应的生命周期事件指定回调方法。 该注释可以应用于实体类,映射超类或回调监听器类的方法。可以方便的自动填入实体类创建时间、更新时间。
@Data
@ToString
@MappedSuperclass
@EqualsAndHashCode
public class BaseEntity {
    /**
     * Create time.
     */
    @Column(name = "create_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;
    /**
     * Update time.
     */
    @Column(name = "update_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime;
    @PrePersist
    protected void prePersist() {
        Date now = DateUtils.now();
        if (createTime == null) {
            createTime = now;
        }
        if (updateTime == null) {
            updateTime = now;
        }
    }
    @PreUpdate
    protected void preUpdate() {
        updateTime = new Date();
    }
    @PreRemove
    protected void preRemove() {
        updateTime = new Date();
    }
}
注意,@PrePersist 是 JPA 规范中提供的,老版本 Hibernate SessionFactory (5.1.0.Final)并不能使用。但是新版本的 HIbernate(大于等于 5.2.17) 是可以使用的。
https://www.codenong.com/5640778/
https://vladmihalcea.com/prepersist-preupdate-embeddable-jpa-hibernate/
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号