比较非关键字段并检测更新记录

时间:2017-10-12 12:36:51

标签: java

我必须准备一个逻辑,在表中有两种类型的记录列。

  • 标识唯一记录的一个意味着关键字段
  • 是非关键字段

如果关键字段正在更改,那么我必须使用“删除/添加”运算符更新记录。如果非关键字段正在更新,我必须使用更改操作符。

我在对象列表中获取记录,使用比较器我可以检测关键字段的变化并使用添加/删除操作符。

比较器逻辑比较&&和如果有更改,则使用新的关键字段删除旧记录的操作员,添加新记录添加。这很直接。

但是对于Change运算符,什么是知道哪个字段更新的最佳方法?因此,将添加“更改”。使用比较器我可以验证某些内容是否发生了变化,但是使用比较器或其他东西改变了怎样的变化?

作为以下记录ID的示例,打开日期和状态是关键字段,其余为非关键字段

  

ID,开放日期,关闭日期,状态,预选截止日期

我可以比较非密钥比较的完整记录,以了解是否有变化但更改的内容我无法知道,因为我必须使用Update运算符而不是删除/添加来更新相同的现有记录。

我将先运行添加/删除比较器检查,然后验证非关键字段的更改。请指导

更新:我想我回答了自己的问题,首先我会根据关键字段组合中的更新生成添加/删除记录的记录进行密钥字段比较,然后对于同一记录我如果检测到更改,将完成密钥比较将添加更新操作符,并且不会生成插入/删除。我不需要检测哪个确切的非关键字段已更改。

感谢。

1 个答案:

答案 0 :(得分:0)

我想我回答了我自己的问题,首先我将对记录进行密钥字段比较,对于同一记录,如果检测到更改,我将完成密钥比较将添加更新操作符,并且不会生成插入/删除。我不需要检测哪个确切的非关键字段已更改。

感谢您查看我的问题和时间。