JPA仅在修改时保存/更新

时间:2018-10-08 09:44:35

标签: spring spring-data-jpa repository entitymanager

我有一个问题,在Spring JPA中,只有进行修改,我才发现有关保存实体的任何信息。我并不是在谈论保存某些字段。

由JPA实体管理器加载数据库数据后,如何在保存实体之前验证字段是否有修改/更改。无需填写每个字段并通过以下方法进行验证:          if(field!= ...)

    Class i = repo.findByExternalId(externalId);

    ...

    if (modifications)
       repo.save(i);
     else
       //don't save

我尝试使用dynamic-update = true,但不起作用。

如果您有一些有关在网络上搜索什么的信息,这也将很有帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

不要呼叫save(),而是将所有交易都放在一个交易中。

JPA将为您进行检查,并在必要时保存更改。