一尘不染

如何使created_at列像自动创建ID一样自动生成创建日期时间?

spring-boot

我目前有一个实体,如下所示:

@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long productId;
    private String productImage;
    private String productTitle;
    private String productDescription;
    private Integer productPrice;
    private Date createdAt;
    private Date updatedAt;

创建此对象后,createdAt和updatedAt的值在数据库中显示为null,并且想知道如何实现代码以便自动插入createdAt和updateAt?

我的发布方法如下:

@PostMapping("/products")
public ProductResponse createProduct(@Validated @RequestBody ProductForm productForm) {
    Product product = productForm.asProduct();
    Product createdProduct = productRepository.save(product);
    return new ProductResponse(createdProduct, "Product created");
}

阅读 641

收藏
2020-05-30

共1个答案

一尘不染

JPA

没有什么比直接注释Timestamp字段更方便的了,但是您可以使用@PrePersist@PreUpdate注释,并且可以毫不费力地获得相同的结果。

hibernate

Spring Data JPA

2020-05-30