我想从后备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:table
,CreateInsert
也不会显示新行。如果我发表评论
String rowId = r.getClientRowKeyManager().getClientRowKey(context, r, selectedRowKey);
CreateInsert
起作用,即af:table
显示新创建的行。
我还设置了af:table
的部分触发器。
编辑:如果我从主键中删除了序列,那么我的createinsert会起作用。
我该怎么做才能获取新创建的行的ID?
答案 0 :(得分:0)
在提交之前无法知道rowId。所以 最好将DB序列用作实体对象中的主键