我目前有一个实体如下:
@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");
}
最佳答案
JPA
没有什么比直接注释 Timestamp 字段更方便的了,但是您可以使用 @PrePersist
、@PreUpdate
注释,并且不费吹灰之力就能获得相同的结果。
hibernate
@CreationTimestamp
- Documentation@UpdateTimestamp
- Documentation
Spring 数据 JPA
@CreatedDate
- Documentation@LastModifiedDate
- Documentation
关于java - 如何让 created_at 列自动生成创建日期时间,就像自动创建 ID 一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49954812/