我正在构建的服务从外部系统接收数据,该数据来自供应商的"外部ID".当我将这些数据保存在我们的数据库中时,我也为其分配了一个自动生成的ID:
@Entity public class Content { @Id @GeneratedValue private Long id; private Long externalId; // many other fields }
当外部系统重新发送相同内容的数据(具有相同的外部ID)时,它将被反序列化为分离的内容POJO:
Content c = deserialize(json);
是否有类似的东西EntityManager.merge
可以使用externalId
字段而不是id
字段加载和更新数据库中的相应行?