gpt4 book ai didi

java - 如何检查哪些对象参数已更改

转载 作者:行者123 更新时间:2023-12-01 11:27:06 24 4
gpt4 key购买 nike

我遇到了一种情况,我正在更改对象的几个参数值。

UserDetails 有大约 14 个参数。我正在更改几个参数的值并从 Form 提交它们。这些值应该在数据库后端得到更新。

是否有任何内置函数可以检查是否有任何值发生更改?

最佳答案

Are there any inbuilt functions to say which of the values got changed?

没有。

Are there any inbuilt functions to check if any of the values got changed?

没有。

<小时/>

但是,您可以实现自己的方法来测试这些内容。 equals 方法很容易实现,而且实际上许多 IDE 都有“向导”来生成它们。 “发生了什么变化”方法更为复杂。复杂性在于该方法如何告诉调用者哪些字段已更改,以及调用者如何利用此信息。

或者,Apache Commons 提供了一个名为 EqualsBuilder 的类,它使用反射等根据对象的字段来比较对象。

<小时/>

我也同意 JB Nizet 的观点。如果您这样做是为了优化数据库更新,那么您可能是在浪费时间。您最好保存所有字段。

考虑一下这一点。除非您的前端在用户更新表单(或不更新)时缓存从数据库读取的字段的旧值,否则您的前端将不得不重新查询数据库以查找旧值。如果某些内容发生了变化,您最好只发出 UPDATE 来更新所有字段,而不是先执行 SELECT 再执行条件 UPDATE。

关于java - 如何检查哪些对象参数已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30729532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com