如何知道更新了哪个属性?

How to know which property is updated?

我有一个为实体公开的 Web 服务。

现在,当有人想要更新该实体时,假设产品作为实体和描述,他们想要在网络服务的帮助下进行更新。 所以第三方应用程序发送产品 ID 和描述。那么我怎么知道这个特定的 属性 已更新,以便我可以将此 属性 设置为 pojo 并将此产品插入数据库。

您应该使用模式观察器 (wikipedia)。在 web 服务和数据更新程序服务中实现它(通过示例)。

使您的 Web 服务可观察并使您的 dataManager 成为观察者。

将来,您可以添加更多观察者(例如应用程序或其他网络服务)。

我认为您需要与它的先前版本进行比较。例如。

你可以有一个实体的缓存,然后通过 id 在缓存中找到对象,之后你需要比较每个 属性。这样您就可以识别更改的属性。

如果您无法与缓存进行比较,则需要与您的数据存储库进行比较。

我认为如果您更新所有字段会更简单。

刚刚更新... 我找到了另一种方法

Iterator<?> keys = JsonOject.keys();
    while(keys.hasNext() ) {
                            String key = (String)keys.next();

BeanUtils.setProperty(对象,键,JsonOject.getString(键)); }

通过这个你可以传递密钥作为 属性name 和 value 如上所述不需要知道哪个 属性 是 coming.Just 我们必须仔细检查 属性应该正确命名。