CreateInsert не работает - PullRequest
0 голосов
/ 25 июня 2018

Я хочу получить RowId вновь созданной строки из базового компонента. Ниже мой код, который я выполняю из базового компонента.

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 работает.

Что мне нужно сделать, чтобы получить идентификатор вновьсозданная строка?

1 Ответ

0 голосов
/ 27 июня 2018

rowId не может быть известен до фиксации.Так что лучше использовать последовательность БД в качестве первичного ключа в вашем Entity Object

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...