我正在开发一个应用程序spring-boot,我想与用户对象进行比较
public class User {
private String name;
private String firstName;
private String codeEmpl;
private String codeCompany;
// Getters & setters
}
当我更新用户时,我从前端只获得了修改后的字段,然后我必须将这些字段与数据库中保存的字段进行比较。复制我收到的用户的已保存信息。我的问题是如何只比较从前端收到的动力场?以及如何只复制收到的对象上保存的信息?
关于比较: 我重写了equals但是equals逐个比较所有的字段。
关于复制: 我用了
BeanUtils.copyProperties(orig, dest);
但是这会复制所有字段
你有什么想法吗?
祝你好运
答案 0 :(得分:0)
除非您想要实现复杂的解决方案,否则我建议您将包含所有字段值的bean从后端发送到前端,作为编辑过程的第一步。然后,在编辑之后,使用修改后的值和未修改的值将bean从前端发送回后端。您可以使用一个标志字段来指示是否发生了任何修改。
一旦你拥有了包含后端所有值的bean,你就可以坚持使用数据库或你使用的任何持久性基础结构。
实际上,这与Angular.js或Backbone.js等框架在与REST API交互时的工作方式相同。