在oracle adf

时间:2017-04-04 03:38:45

标签: java oracle oracle-adf

我的jdev版本:11.1.1.7

在我们的adf应用程序中,我们需要上传重csv文件(10k-100k行)并处理/验证每一行,并在表中更新进程/验证状态。 通过将主键作为绑定变量应用视图条件并提交每个更新的行来更新每一行 所有上述过程都是使用java.util.concurrent实用程序同时进行的。

一切正常,但很少行遇到oracle.jbo.JboException:JBO-25014:另一个用户使用主键oracle.jbo.Key [254]更改了行。

我已经尝试在整个执行程序进程结束时更新表并批量提交所有更新的行,但是这与其中一个要求相矛盾,因为用户必须等到进程结束才能看到更新的数量用户界面中的记录。

我的疑问: 1.如何在这种情况下在ADF中实现线程安全数据库提交操作? 2.每个已处理/验证的行应提交给DB,以便用户可以在UI上查看更新的记录

1 个答案:

答案 0 :(得分:0)

每次提交操作后,

为getviewobject使用“executequery()”或“closerowset()”。

例如:public void closemaster() { this.getMasterView().closeRowSet(); }

或者您可以使用:

    public void closemaster() {
    this.getMasterView().executeQuery();
}

这两个答案都有效。

我认为你的问题将会得到解决。

更新会发生什么。