我在Java Web应用程序(JSF1.2,RichFaces)中创建了一些“保存”bean功能。它使用JAXB将其转换为XML字符串,然后将其存储在数据库中。如果用户将其加载回来,我想通知用户(bean)内容是否已更改并且应该再次保存。
我的想法是使用“hashCode()
覆盖org.apache.commons.lang.builder.HashCodeBuilder
函数”,但是我有很多字段和子元素。
有没有其他方法来处理这种功能?
修改
“比较”在另一个视图上完成!
任何帮助将不胜感激!
答案 0 :(得分:5)
您可以向bean添加boolean dirty;
标志,在设置器中将其设置为true
,并在重新加载和保存后清除它。
答案 1 :(得分:1)
您无法单独依靠hashCode
来确定对象是否已更改。也就是说,仅仅因为该对象具有与以前相同的hashCode
,并不意味着它没有被更改。
答案 2 :(得分:-1)
您可以使用Java的MD5功能:
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(myObject);
byte[] hash = digest.digest();