我想更新@PostPersist
方法中的实体,以便获得生成的ID并将其放在同一表中的另一列中:
@PostPersist
public void postPersist(Customer customer) {
customer.setCode("Code_" + customer.getId);
}
此更新未在数据库中持久化。因此,我应该做些什么来使用字符串"更新我的实体;代码_"附加到生成的Id.
@PostPersit
和@PrePersist
是回调方法。它们在JPA事务之后执行。在您的情况下,您可以:
- 在
persist
方法之后手动设置code
,并使用此code
再次请求保存客户 - 您可以保留
@PostPersist
注释,但在这种情况下,您还需要另一个保存请求 - 如果你使用
custom generator
,你可以在保存之前得到id
(在jpa中保存对象之前我如何知道id(
代码示例