Программная реализация длинных транзакций
От: Michael_Y Украина  
Дата: 12.09.06 08:13
Оценка:
Всем привет.

Господа ГУРУ проектирования, нуждаюсь в вашем совете.

Есть база данных с где-то 20 таблицами, из которых 10 справочники. База содержит данные о подразделениях компании. Есть главная таблица "Подразделение" и все остальные связаны с ней.
Задача — вносить изменения в базу "проектами". Т.е. выбираем подразделение для редактирования, правим что хотим, сохраняем изменения в какую-то "корзинку", через пару недель возвращаемся к редактированию этого подразделения. Еще через неделю одним махом применяем изменения на базе.
Осложняет задачу наличие информации вида "список зданий подразделения", "список фотографий каждого здания". И это тоже надо редактировать.

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

У кого-то есть опыт реализации такой задачи? Поделитесь плиз

P.S. Использую Hibernate3.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.