Jpa、hibernate-维护时间字段的值
使用jpa的审计来插入维护时间字段:
/**
* 系统字段:创建时间
*/
@Column(name = "CREATION_DATE",updatable = false)
@Schema(description = "系统字段:创建时间")
@CreatedDate
private Date created;
/**
* 系统字段:修改时间
*/
@LastModifiedDate
@Column(name = "LAST_UPDATE_DATE")
@Schema(description = "系统字段:修改时间")
private Date updated;
使用hibernate来进行时间字段维护:
/**
* 系统字段:创建时间
*/
@Column(name = "CREATION_DATE",updatable = false)
@Schema(description = "系统字段:创建时间")
@CreationTimestamp
private Date created;
/**
* 系统字段:修改时间
*/
@Column(name = "LAST_UPDATE_DATE")
@Schema(description = "系统字段:修改时间")
@UpdateTimestamp
private Date updated;
以上两种方法是一样的效果,但jpa审计的维护
比hibernate的维护
要复杂一些,需要启动类加上@EnableJpaAuditing
和实体类加上@EntityListeners(AuditingEntityListener.class)
建议:
- 如果要使用jpa审计的
@CreatedBy
和@LastModifiedBy
功能,那么使用jpa审计去维护时间 - 如果不需要创建人和修改人信息,或者直接从前端传来这些值,那么hibernate注解更省事