我有一个为实体公开的网络服务。
现在当某人想要更新该实体时,让产品作为实体和描述,他们希望在Web服务的帮助下更新。 所以发送productid的第三方应用程序只是描述。那么我怎么知道这个特定属性已更新,以便我可以将此属性设置为pojo并将此产品插入数据库。
答案 0 :(得分:0)
您应该使用模式观察者(wikipedia)。在Web服务和数据更新程序服务中实现它(通过示例)。
使您的网络服务可观察并使您的数据管理员成为观察者。
将来,您可以添加更多观察者(例如,对于app或其他Web服务)。
答案 1 :(得分:0)
我认为您需要与之前的版本进行比较。例如。
你可以有一个实体的缓存,并在缓存中找到id的对象,之后你需要比较每个属性。因此,您可以识别已更改的属性。
如果无法比较缓存,则需要与数据存储库进行比较。
如果您更新所有字段,我认为它不那么复杂。
答案 2 :(得分:0)
刚刚更新...... 我找到了另一种方法
Iterator<?> keys = JsonOject.keys();
while(keys.hasNext() ) {
String key = (String)keys.next();
BeanUtils.setProperty(object,key,JsonOject.getString(key)); }
通过这个你可以传递key作为属性名和值,如上所述,不需要知道哪个属性即将到来。我们必须仔细检查该属性是否应该正确命名。