在休眠状态下,我想用“半”更新现有实体,该实体是通过PATCH从rest api调用传递来的。

因此,在这里,HalfEntity将是一个基于允许其余api用户发送的内容的getter和setter的pojo,这将是Entity的子集。

是否有最快的方法在实体的“一半”中为实体分配新值?

所以反对写这样的负载...

Entity.setValue(HalfEntity.getValue());
Entity.setValue2(HalfEntity.getValue2());
Entity.setValue3(HalfEntity.getValue3());
Entity.setValue5(HalfEntity.getValue5());


...我想这样写:

Entity.patch(HalfEntity);


那可能吗?

最佳答案

您可以执行以下操作:

public void patch(Object halfEntity) throws IllegalArgumentException, IllegalAccessException{
    for(Field f:halfEntity.getClass().getDeclaredFields()){
        f.setAccessible(true);
        f.set(this, f.get(halfEntity));
    }
}

07-26 09:27