如何比较 Java 对象并正确审核更新的值



我有一个应用程序服务器,它向客户端发送记录数据数组以响应搜索。在将数据发送到客户端之前,我的想法是让服务器将数据存储在会话变量中。

当用户选择然后提交要编辑的记录时,客户端会将整个记录发送到服务器。它更新数据库中的整个记录(以防其他用户在搜索后提交更新)。

但是,我仍然需要捕获更改,以便可以正确存储审核信息。我认为最好根据用户看到和更改的内容捕获旧值和新值。 因此,我计划逐个字段(深入)比较会话数据中的记录和客户端发送的更新记录。我有两个问题:

1)这种方法是否存在陷阱/问题?

2)如果不是,什么是用于比较对象的好Java实用程序/库?

提前感谢您的帮助。

如果其他用途更改了记录中的任何字段,则最好拒绝更改。 您可以提醒用户记录已更改,并向他们显示新数据以再次执行更新(可能保留其更改的值可供他们使用)。

这样,如果其他用户更改了与他们未更改的字段相关的字段,您将不会更改彼此不再有意义的记录。

有多种方法:
如果由于某种原因您无法在服务器端和响应中标记 chhanged 字段,我会使用反射来比较类的所有字段,这些字段希望是原始对象或至少支持 equals()。但是,我会将其限制为原始类型和字符串。

相关内容

  • 没有找到相关文章

最新更新