Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611

Hibernate и одновременное редактирование одного набора данных двумя пользователями.

20.12.2010, 11:53. Показов 1713. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Щупаю Hibernate 2.1.6

На сколько я понял, каждый раз, когда говорим Session.save(...), кеш обновляется значениями из переданного объекта.

Вопрос. Как обычно пользователи Hibernate разруливают такую ситуацию. Пусть администраторы редактируют учетные записи. Каждая запись -- это ID, email и телефон. Два админа одновременно редактируют данные одного и того же пользователя. Один меняет email, второй -- номер телефона. Как мне сохранить только те изменения, которые админ сделал, и не затирать того, что сделал второй?

Понятно, что можно подойти оптимистично: проверять, не изменились ли данные, пока репу чесали. GUI усложняется. Проще вписывать только изменения.

Как Hibernate'чики такое разруливают.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2010, 11:53
Ответы с готовыми решениями:

Одновременное использование двумя пользователями
Такая ситуация. Есть два монитора и один комп с win7 x64 макс. Каким образом можно одновременно использовать комп с двух разных учеток?...

Одновременное редактирование таблицы несколькими пользователями через сеть
Доброго времени суток! Есть таблица в которую постоянно добавляют новую информацию, из за одновременного использования её через сеть,...

Как осуществить редактирование документа Word двумя пользователями одновременно?
Доброго дня Всем. Можно ли сделать так, чтобы один документ Word редактировался двумя пользователями одновременно? И если такая...

2
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
20.12.2010, 13:56
у Hibernate есть автоматическая проверка версии. почитай подробнее в референсе и в книжечке Hibernate in Action. стратегий много. дешево и сердито - автоматический контроль, в базе добавляется колонка versionId (или любая другая, как душа ляжет, главное ее объявить колонкой контроля версии в маппинге).

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

удачи
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
20.12.2010, 14:32  [ТС]
Я об этом и писал, говоря об оптимистичном подходе (это другое название подхода с контролем версий).

Означает ли, что иного подхода нет? В Pure JDBC я могу записать только изменения. И это будет один запрос. Хотя... Похоже, что моя идея неверна в корне. Только что понял

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2010, 14:32
Помогаю со студенческими работами здесь

Передача данных между двумя пользователями
Поставлена следующая задача: Пользователь выбирает конкретный заказак в своем списке и жмет кнопку "Оставить жалобу". Данная...

Как отобразить два графика из одного набора данных?
Прошу помощи в маленькой проге. Архив с проектом выкладываю. На форме 8 текстбоксов и кнопка построить график. Надимаем на кнопку и в...

Редактирование dbgrid разными пользователями
Добрый день Есть dbgrid отображающую таблицу. База на acccess. Для добавления и редактирования есть dbedit'ы. для обновления есть кнопка...

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

Двойное одновременное редактирование записи
Добрый день! Господа, имеется табличная форма, в которой можно редактировать записи. А если сдалать двойной клик, то откроется еще одна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru