RSS 2.0 Версия для КПК (Бета)
Конференция JavaTalks  :  Java форум
JavaTalks - форум программистов
Java форум JavaTalks
форум программистов 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Одна незакрываемая hibernate сессия для юзера...

 
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Персистентность в Java (JPA, ORM, ODB)
Предыдущая тема :: Следующая тема  
Автор Сообщение
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. Что если пользователь из нескольких табов будет работать? Хиб Сессия - не есть потоко-безопасным объектом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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, спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Персистентность в Java (JPA, ORM, ODB) Часовой пояс: GMT + 3
Страница 1 из 1

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


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Этот сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

GetJava Download Button Rambler's Top100
Хостинг от bizname.ru
При поддержке hitech.com.ua