|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
WebPrj : 72 Новичок
|
Янв 23, 2012 13:28 |
|
|
| Skipy писал(а): |
Делаем таблицу(-ы) для временных данных.
....
Запросы производятся из основных и промежуточных данных, логика слияния несложная. |
да, мне этот вариант тоже кажется НАДЁЖНЕЕ для хранения состояния.
Если Веб не позволяет это состояние хранить
----
Ручками, конечно есть работа.
Т.к. в оракле уже есть у каждого объекта метка на сессию - scn строки.
Итого. 2 варианта пока - Длинные, и Временная БД рядом с основной.
| Цитата: |
Conversation, или user transaction - это некая единица работы с системой с точки зрения пользователя. Обычно она состоит из последовательности шагов, набора запросов к приложению, набора запросов по работе с БД. К примеру, это может быть процедура order placement, которая включает такие шаги: выбора единиц заказа, варианта доставки, варианта оплаты, и т.д. В рамках этих шагов приложению может быть необходимо осуществить N запросов к БД, и розумеется, в данном случае нельзя полагаться на database-level transaction для изоляции конкурентных conversation'ов.
Далее будут показаны различные варианты выбора уровня гранулярности session/transaction scope. |
http://samoshkin.blogspot.com/2011/04/nhibernate-session-management.html |
|
|
|
 |
nullvoid : 505 Постоянный посетитель Откуда: Красноярск
|
Янв 23, 2012 16:12 |
|
|
|
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 23, 2012 16:39 |
|
|
| nullvoid писал(а): |
Вот тут насколько я понял рецепт от авторов,
|
не вижу рецепт.
Написано то, что я говорил: "....В Интернете и корпоративных приложений, это не приемлемо для транзакций базы данных....."
| nullvoid писал(а): |
Хибер сессия на http сессию - антипаттерн, те кто говорят обратное лохи =) |
ну ещё бы. Ведь это авторы Хибера. А он не приспособлен для этого.
| Цитата: |
Вы должны использовать несколько транзакций базы данных для осуществления разговора. В этом случае, сохраняя изоляцию бизнес-процессов становится частичной ответственности уровня приложений. Одного разговора обычно занимает несколько транзакций базы данных. Это будет атомным, если только один из этих транзакций базы данных (последняя) хранит обновленных данных. Все остальные просто читает данные (например, в стиле мастера диалог на протяжении нескольких запрос / ответ циклов). Это проще в реализации, чем это может показаться, особенно если вы используете некоторые возможности в Hibernate:
Автоматическая версий : Hibernate может выполнять автоматическую оптимистичный контроль параллелизма для вас. Он может автоматически обнаружить, если одновременное изменение произошло во время пользователь думаете времени. Проверьте это в конце разговора.
Отдельно стоящих объектов : если вы решите использовать сессии за запрос узор, все загруженные экземпляры будут находиться в отдельные государства во время пользователь думаете времени. Hibernate позволяет прикрепить объектов и сохраняются изменения. Модель называется сессии за запрос-с-отдельные объекты . Автоматическое управление версиями используется для изоляции одновременных изменений.
Extended (или Long) Сессия : Hibernate сессии может быть отключен от основного соединения JDBC после транзакции базы данных было совершено и подключить, когда новый запрос клиента происходит. Эта модель известна как сессия за разговор и делает даже прикрепления ненужным. Автоматическое управление версиями используется для изоляции одновременных изменений и сессии не будет позволено быть сброшены автоматически, но в явном виде. |
где тут решение?
- все сначала читают, а последняя правит - это решение?
- или Ext что-то там - решение?
У меня, к примеру, до 1000 пользователей и Оракл. Я что? Должен длинной транзакции бояться?
Нафига мне веб, если я без него за 2 дня наклепаю решение. |
|
|
|
 |
nullvoid : 505 Постоянный посетитель Откуда: Красноярск
|
Янв 23, 2012 16:44 |
|
|
|
|
|
|
 |
|
|
|