持久数据对象实现

时间:2011-08-24 11:41:18

标签: java ajax session persistence javabeans

我有一个页面,用户可以编辑大量信息,现在大约有100行DDL和一个文本区域,我想在每次更改后更新数据对象,这样我只需要保存到数据库更改的行而不是更新每一行。

即。当DDL值发生变化或文本区域数据发生变化时(这是在弹出中完成的,只有在单击“确定”时才会更改),它将存储到一个数组中,将每个更新的行保存为一个对象。当用户点击保存时,它只会保存已更改的行。

现在我正在使用AJAX以便它创建HTTPRequest,从会话中获取数组并添加具有新值的新条目。不幸的是,我认为该页面有时会踩到自己,而不是保持数据正确。我不知道为什么,但是想知道实现这个的最好方法是什么,如果这是一个很好的方法。

Java bean或其他任何东西可以更好地表示数据对象吗?

不会更快地访问和存储会话并防止这种情况发生吗?

1 个答案:

答案 0 :(得分:0)

Java bean非常适合此目的(与java Map相比)。

据我所知,您只想为已更改的项调用UPDATE,最好是为该java bean类实现equals()。

您必须在会话中或服务器上的任何其他位置存储旧值,以便能够确定哪些内容发生了变化。

无论如何,你必须循环并对每个对象进行比较:

if (!prevValue.equals(currValue)) {
  DAO.update(currValue);
}