Обновить данные из таблицы без перестройки проекта в ADF 12C - PullRequest
0 голосов
/ 27 февраля 2019

Я создал fusion web-приложение в adf 12c и использую базу данных 12c.После создания приложения я случайно удалил несколько строк в таблице, но не нажал кнопку фиксации.Удаленные строки там не отображаются, но присутствуют в базе данных (проверяется после обновления).Я хочу обновить данные из базы данных либо при обновлении / перезагрузке страницы, либо с помощью какой-либо командной кнопки.Как я могу сделать это без перестройки моего приложения.

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Вам нужно выбрать операцию executeQuery для объекта View, который заполняет вашу таблицу, и перетащить его на страницу в виде кнопки.Нажатие кнопки повторно запросит вашу БД для получения данных оттуда.

0 голосов
/ 27 февраля 2019

Вот как выполнить откат для таблицы ADF?

  • Перейти к вашей панели управления данными панель
  • Открыть прикладной модуль , из которого создается View Object вашей привязанной RichTable
  • Перейдите в папку Operation
  • Перетащите операцию отката как командная кнопка ADF на вашей странице JSF

это будет выглядеть так:

 <af:commandButton actionListener="#{bindings.Rollback.execute}" text="Rollback" disabled="#{!bindings.Rollback.enabled}" immediate="true" id="cb6">

Вы также можете сделать это на Java:

 appModule.getTransaction.rollback();

Эта операция отката отменяет все изменения, внесенные в модуль приложения, и снова запрашивает базу данных для всех его Просмотр объекта.

Подробнее здесь: https://docs.oracle.com/cd/B14099_19/web.1012/b14022/oracle/jbo/ApplicationModule.html

Транзакция

С корневым прикладным модулем связан объект транзакции, который обеспечивает этот контекст транзакции.Из любого (корневого или вложенного) прикладного модуля пользователь может получить объект транзакции посредством вызова getTransaction ().В действительности, getTransaction () сначала находит корневой прикладной модуль, а затем возвращает из него объект транзакции.

Объект транзакции управляет подключением к базе данных и кэшами сущностей.Таким образом, изменения, сделанные с помощью одного объекта просмотра, видны другим объектам просмотра, если все эти объекты просмотра связаны с одним корневым прикладным модулем.В отличие от этого, если два объекта просмотра объединены двумя отдельными корневыми модулями приложения, то изменения, сделанные через объект просмотра, не будут видны второму объекту представления, пока изменения не будут зафиксированы в базе данных через первый корневой модуль приложения и второй VO не выполнится.запрос (для получения самых актуальных данных из базы данных).

...