我的实体类中有这些字段:
导入 org.springframework.data.annotation.CreatedDate; 导入 org.springframework.data.annotation.LastModifiedDate;
@CreatedDate
private Instant createdDate;
@LastModifiedDate
private Instant lastModifiedDate;
我正在使用 Liquibase。 当我运行 liqubase 时,日期将起作用并设置为字段。
但是当我使用邮递员通过端点创建新实体时,它将无法工作。 在请求中,我没有编写日期,它应该自动设置日期和时间。 我没有使用任何其他配置或 JpaAuditings 或侦听器。 我应该写一些配置吗? 我正在使用这个基于注释的审计元数据,我是否误解了文档?
我认为您忘记了
@EntityListeners(AuditingEntityListener.class)
和 @EnableJpaAuditing
注释。
@EnableJpaAuditing
注释 @Configuration
:
@Configuration
@EnableJpaAuditing
public class AuditingConfig {
}
@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
@EntityListeners(AuditingEntityListener.class)
public class Foo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
}