Редактор универсальной таблицы кодов базы данных - PullRequest
1 голос
/ 28 января 2010

Где я могу найти универсальный редактор (JSP с использованием Oracle ADF) для создания, чтения, обновления и удаления в любой таблице?

Пример использования:

  1. Пользователь выбирает имя таблицы.
  2. Затем пользователь добавляет новую строку или обновляет / удаляет существующую строку.
  3. Пользователь сохраняет изменения.

Внешние ключи будут отображаться в виде раскрывающихся списков, а все остальные - как af:inputText. (Удобство для пользователя такой административной функции не важно.) Это позволило бы обновлять данные таблицы кодов для любого числа таблиц без необходимости каждый раз писать новую CRUD JSP.

Обновление № 1

Oracle ADF 10g (не 11g), что не позволяет нам использовать ADF Faces RC.

Обновление № 2

Шей Шмельцер (и другие) направил меня к этим ресурсам:

Ответы [ 3 ]

0 голосов
/ 29 января 2010

Я построил программу (в Oracle Forms) по этим строкам. Они могут очень быстро усложниться (например, показывать ли вы даты в виде дат или со временем, в форматах MM или Month, не говоря уже о BLOB, CLOB и т. Д.) Раскрывающиеся списки звучат великолепно, пока вы не попробуете их на внешнем ключе таблицы 5000 строк (или более 40 000 почтовых индексов).

Как только он будет «живым» для 100 таблиц, вы затем попытаетесь заставить его работать для 101-го, который имеет большой varchar, который вам нужен на нескольких строках, или имеет столбец суррогатного ключа, который не имеет смысла для пользователя без присоединиться к родительской таблице. Таким образом, вы измените его для этого, и вам придется повторно протестировать на 100 экранах, которые работали раньше.

Короче говоря, обычно гораздо проще создать конкретный экран для таблицы, чем сделать практичный универсальный, широко используемый. Тогда у вас есть справочная таблица, в которой перечислены имя таблицы и соответствующий экран обслуживания, а также приложение, которое вызывает экран после выбора пользователем таблицы.

0 голосов
/ 29 января 2010

Если вы намереваетесь создать его самостоятельно, я предлагаю воспользоваться MetaData классами в JDBC API. Например, вы можете использовать Connection#getMetaData(), чтобы получить экземпляр DatabaseMetaData, который предоставляет информацию обо всех каталогах / схемах / таблицах / процедурах подключенной базы данных. Тогда есть ResultSet#getMetaData(), который возвращает экземпляр ResultSetMetaData, который предоставляет конкретную информацию о столбцах. Это, в сочетании с динамически заполняемым компонентом UIData (например, h:dataTable), должно значительно помочь вам в этом.

0 голосов
/ 28 января 2010

Вы используете материал ADF Oracle. Разве функциональность ADF Faces не нужна?

...