CreateInsert无法正常工作

时间:2018-06-25 12:23:50

标签: java oracle-adf

我想从后备bean中获得RowId新创建的行。下面是我正在后备bean中执行的代码。

Util.callOperation(bindings, "CreateInsert", null);
    FacesContext context = FacesContext.getCurrentInstance();

    RichTable r = getOvertimeTable();

    for (Object selectedRowKey : r.getSelectedRowKeys()) {

        String rowId = r.getClientRowKeyManager().getClientRowKey(context, r, selectedRowKey);
        //System.out.println(rowId);

    }

当我执行上述代码时,不会创建新行,即即使我正在执行af:tableCreateInsert也不会显示新行。如果我发表评论 String rowId = r.getClientRowKeyManager().getClientRowKey(context, r, selectedRowKey); CreateInsert起作用,即af:table显示新创建的行。 我还设置了af:table的部分触发器。

编辑:如果我从主键中删除了序列,那么我的createinsert会起作用。

我该怎么做才能获取新创建的行的ID?

1 个答案:

答案 0 :(得分:0)

在提交之前无法知道rowId。所以 最好将DB序列用作实体对象中的主键