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

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

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

Щупаю Hibernate 2.1.6

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

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

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

Как Hibernate'чики такое разруливают.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2010, 11:53
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2010, 14:32

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.