在PostPersist事件方法中更新JPA实体



我想更新@PostPersist方法中的实体,以便获得生成的ID并将其放在同一表中的另一列中:

@PostPersist
public void postPersist(Customer customer) {
customer.setCode("Code_" + customer.getId);
}

此更新未在数据库中持久化。因此,我应该做些什么来使用字符串"更新我的实体;代码_"附加到生成的Id.

@PostPersit@PrePersist是回调方法。它们在JPA事务之后执行。在您的情况下,您可以:

  1. persist方法之后手动设置code,并使用此code再次请求保存客户
  2. 您可以保留@PostPersist注释,但在这种情况下,您还需要另一个保存请求
  3. 如果你使用custom generator,你可以在保存之前得到id(在jpa中保存对象之前我如何知道id(

代码示例

相关内容

  • 没有找到相关文章