|
|
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
slippery, Карточка Петров и карточка Иванов это 2 строки в БД или 2 экземпляра класса с флагами IdSession ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 17:45:21 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123slippery, Карточка Петров и карточка Иванов это 2 строки в БД или 2 экземпляра класса с флагами IdSession карточкой я назвал каркас(мастер, визард) для работы с объектами к примеру "пользователь", в разных закладках браузера, клиент может открыть на редактирование и петрова и иванова. Получается, что каркас является что-то типа сессионным объектом. создается этот каркас наследованнием от определенного класса. и висит себе в памяти, все кнопки и прочие элементы управления на этом каркасе при нажатии посылают конкретному экземпляру каркаса события. Поэтому если атрибутом каркаса при его создании сделать к примеру ссылку на сервис, то в обработчике событий от кнопок не надо снова получать сервис, а достаточно обратится по ссылке которую хранит каркас. В сессии пользователя(после его авторизации) в разных вкладках, он может открывать разнобразные карточки(каркасы) разных объектов системы. Это реально удобно при редактировании или еще чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 00:23:33 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
это как бы форма и ее контроллер, создается форма, создается контроллер, контроллер висит в памяти , форма посылает контроллеру аяксом запросы которые он обрабатывает. На каждую форму свой контроллер. Визард в моем случаи это отдельная форма со своим контроллером(каркасом), в форме визарда есть несколько кнопок и элемент таббокс. таббокс имеет закладки. каждая закладка это уже другая форма с ее контроллером. Это стандартная схема работы зкосс. Ну это как сделано просто рассказал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 00:27:25 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
Вопрос про генератор, что-то я так и не понял как мой генератор подцепить теперь к сущностям, как хибернат на него настроить или указать чтоб он этот класс взял вместо стандартного? Должен же быть способ если не править исходники хиберната и не добавлять туда свой генератор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 01:10:08 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
slippery, Все что ты написал это обычный ОПП. Он и так работает без твоего ТЗ. Простой вопрос. Завел Петрова во второй вкладке. В первой его нужно видеть? Если да. То ты его увидишь по ид сессии.:) меня удивляет когда люди не видят простого решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 07:35:28 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
Petro123slippery, Все что ты написал это обычный ОПП. Он и так работает без твоего ТЗ. Простой вопрос. Завел Петрова во второй вкладке. В первой его нужно видеть? Если да. То ты его увидишь по ид сессии.:) меня удивляет когда люди не видят простого решения. можно и id сессии сделать и сохранять "временные" объекты, но тогда: 1) надо добавлять 2 условия во все выборки sessionId is null or sessionId = <переданный параметр в запросы из карточки> 2) во все запросы просто системы надо добавлять условие sessionId is null 3) так как уже посмотрел Envers а он по коммите генерит новую ревизию, то надо также делать и ревизию "временной" 4) писать сборщик муссора на временные объекты в системе и на временные ревизии(если делать через Envers) я бы не сказал что это простое решение...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 13:13:31 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
да если использовать Envers, то так как он не понимает что такое "временная" ревизия, то либо его не использовать, либо влезать в его код и добавлять те же условия при выборки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 13:15:17 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
ну и последнее, а как же "грязное чтения" если мы во вкладке 2 изменили Петрову инфу, во вкладке 1 должны это видеть Но другие пользователи, не должны видеть, что Петрову изменили инфу. То есть все равно механизм держать изменения в памяти сбрасывать перед выполнением запроса и откатывать остается прежним. По моему тогда в этом механизме и логично сделать примерно то что я и собираюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 13:25:49 |
|
||
|
Нестандартное сохранение сущности в hibernate
|
|||
|---|---|---|---|
|
#18+
slipperyя бы не сказал что это простое решение...... дык ты всё критикуешь 5-ое и ничего не ответил на прямо поставленный вопрос по 3-му. Мне нравятся такие программисты. Будут писать и усложнять в ТЗ только для своего удовольствия. - Откуда взялся вопрос последних 2-х страниц про смену ID и "вкладках"? В первом ТЗ этого не было. Там было: Длинная Правящая бизнес-транзакция на сессию. Техническая часть: - разницу в модальном и немодальном окне понимаешь? Если ты решил сделать НЕСКОЛЬКО ДЛИННЫХ транзакции БЕЗ поддержки хибером, то ты будешь руками делать все их атрибуты (атомарность\повторяемость\изоляция). Т.е. в любом варианте будет геморрой - ставь мьютексы\семафоры\хачь Хибер и т.д. БЛ-ГУИ часть: - что будет, если сделать вместо модального окна "Перевод счёта" - не модальное или вкладки? Правильно - тебя посадят на счётчик, пока не исправишь. Зачем польз-лю в 3-4 вкладках запускать Длинные Правящие транзакции и уходить на обед? ЗЫ Через неделю ты придёшь с вопросом - почему банковский счёт перепрыгнул в session.SaveOrUpdate Удачи! ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2012, 14:26:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37631363&tid=2132727]: |
0ms |
get settings: |
15ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
301ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
90ms |
get tp. blocked users: |
3ms |
| others: | 320ms |
| total: | 782ms |

| 0 / 0 |
