|
|
Java форум JavaTalks форум программистов
|
|
|
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
kostepanych Новичок
Зарегистрирован: 23.12.2006 Сообщения: 36
|
Добавлено: Мар 10, 2010 17:01 Заголовок сообщения: Одна незакрываемая hibernate сессия для юзера... |
|
|
Такой вот dummy вопрос...
Чем чревато использование одной hibernate сессии для каждого залогинившегося в web приложение пользователя? Т.е. юзер логинится - hibernate сессия открывается, а закрывается только при logout.
Во всех примерах, что я видел, сессия открывается и закрывается для каждой операции с базой. |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 5392 Откуда: Русь
|
Добавлено: Мар 10, 2010 17:28 Заголовок сообщения: RE: Одна незакрываемая hibernate сессия для юзера... |
|
|
1. Сессия - очень легкий объект, посему это нормально - постоянно создавать новую.
2. Что если пользователь не сделает логаут? Тогда уже нужно по HttpSession смотреть..
3. Что насчет транзакций? Они не планируются?
4. Что если пользователь из нескольких табов будет работать? Хиб Сессия - не есть потоко-безопасным объектом. |
|
| Вернуться к началу |
|
 |
Vlad JavaTalks Team Member

Зарегистрирован: 29.03.2006 Сообщения: 1598 Откуда: ODS-KRK-LON-???
|
Добавлено: Мар 10, 2010 18:05 Заголовок сообщения: RE: Одна незакрываемая hibernate сессия для юзера... |
|
|
Категорически нет, так как веб-приложение - это многопоточная среда, а Hibernate Session _не_ является потоко-безопасным (thread-safe) объектом, кроме того связана с потоком, в котором создана.
Если вас заинтересовала возможность иметь одну сессию для того, чтобы переиспользовать в http сессии одного пользователя объекты, загруженные в сесии другого пользователя, то для этого служит кэш 2-го уровня (каждая Hibernate Session имеет также свой кэш - кэш 1-го уровня). Наиболее популярным провайдером кэша 2-го уровня является EhCache. |
|
| Вернуться к началу |
|
 |
kostepanych Новичок
Зарегистрирован: 23.12.2006 Сообщения: 36
|
Добавлено: Мар 11, 2010 17:15 Заголовок сообщения: RE: Одна незакрываемая hibernate сессия для юзера... |
|
|
| Ok, спасибо. |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|