如果表内容发生更改,则更新RowSet?

时间:2010-02-15 19:43:53

标签: java jdbc cachedrowset rowset

是否可以更新/刷新RowSet以防表格内容发生变化(例如,另一个应用程序修改了它)?所以这种方式我总是'拥有该表的最新版本。

我查看了RowSetListener,但这些事件似乎只有在我直接修改RowSet时才会被调用。知道发生变化就足够了,我知道......这很多:)

请分享您的想法!提前致谢! 丹尼尔

2 个答案:

答案 0 :(得分:1)

不,对于大多数传统的RDBMS,没有任何办法。仅仅因为http://en.wikipedia.org/wiki/ACID#Isolation

答案 1 :(得分:0)

是的,可以刷新RowSet。只需再次调用它的“execute()”方法。

根据docs

  

如果此方法成功,则会丢弃行集的当前内容,并且(重新)设置行集的元数据。

此次刷新时会触发rowSetChanged事件。

如果您询问在数据库服务器上更改数据时是否可以自动刷新RowSet:我不知道。您可能不想知道此类更改,具体取决于您的隔离级别,锁定和MVCC策略。