使用Panache JPA将对象更新为另一个对象

问题描述

我正在Quarkus中使用PanacheRepositories。 目前,我想实现功能update(X x)。 基本上,我要执行的功能是检查是否存在具有y的实体id==x.id并将其更新为x,但是我不知道是否有可能做到这一点将每个属性x复制到y。 我不想要那个,因为物体很大。

有什么办法做类似的事情

MyEntity y = repository.findById(x.id);
if(y != null){
  y = x;
  repository.persist(y)
}

是否不分离实体?

解决方法

我没有意识到PanacheRepository只是EntityManager的覆盖,它具有我想要的功能。 因此,我可以注入EntityManager并使用merge(x)来达到我想要的目的