我目前有一个实体,如下所示:
@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注释,并且可以毫不费力地获得相同的结果。
@PrePersist
@PreUpdate
hibernate
@CreationTimestamp
@UpdateTimestamp
Spring Data JPA
@CreatedDate
@LastModifiedDate