powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Одна открытая сессия
8 сообщений из 8, страница 1 из 1
Одна открытая сессия
    #38477471
max_drmick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане!

Подскажите, пожалуйста, возможно я делаю что-то не так

Долго мучаюсь с хибером (с сессиями).
Назрел вопрос - можно ли держать всегда открытую сессию?
У меня сокетсервер, который постоянно обменивается данными с БД, и я подумал какой смысл открывать сессию каждый раз, ведь во-первых одна открытая сессия избавит от lazyinitializationexception, во-вторых на мой взгляд открытие/закрытие сессии это минус к быстродействию.

Но вот проблема, при session.getTransaction().commit() сессия автоматом закрывается. Можно ли сделать так, чтобы сессия не закрывалась?


Спасибо.
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38477618
maksaimer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
max_drmick,

Если вы используете DataSource, то там есть пул соединений, которые открыты и ожидают своей очереди. Не думаю что открытие/закрытие сессии дорогостоящая операция.

Почему бы не использовать тот же Spring для управления транзакциями? Мне кажется это удобнее и избавит вас от не очевидных ошибок.
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38477782
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
max_drmick,
Сессия хибера для обслуживания HTTP юзверов. Если у вас их нет, то может и хибер - оверхед?
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38477851
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
max_drmickНазрел вопрос - можно ли держать всегда открытую сессию?

Нет. Session это кэш первого уровня. Там хранятся все данные, которые через неё прошли. Есть у хибера опция в виде сессии без состояния. Но на неё было много нареканий.

max_drmickво-первых одна открытая сессия избавит от lazyinitializationexception

Ну, это не есть верный путь использования ленивой инициализации. С тем же успехом, можно просто всю БД загрузить в память и там держать. Никакой ленивой инициализации не нужно.

max_drmick, во-вторых на мой взгляд открытие/закрытие сессии это минус к быстродействию.

Вообще работа с базой, да ещё и через ORM это минус к быстродействию. По-вашему производительность это единственный критерий качества кода?

max_drmickНо вот проблема, при session.getTransaction().commit() сессия автоматом закрывается. Можно ли сделать так, чтобы сессия не закрывалась?
Ну, именно в таком виде нет. Но при особом желании, через менеджер транзакций можно сделать несколько независимых транзакций на одну сессию. Вопрос только зачем.
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38477852
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Сессия хибера для обслуживания HTTP юзверов.
ROFL
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38478081
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Ты все верно описал Технически. Я по простому о коротких транзакциях и изоляции сессий юзверов)).
Т.е. о Цели сессий хибера.
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38478093
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ты все верно описал Технически. Я по простому о коротких транзакциях и изоляции сессий юзверов)).
Т.е. о Цели сессий хибера.
У автора темы - "сокетсервер". Принципиальной разницы с HTTP сервером для Hibernate - нет.
...
Рейтинг: 0 / 0
Одна открытая сессия
    #38478126
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123Ты все верно описал Технически. Я по простому о коротких транзакциях и изоляции сессий юзверов)).
Т.е. о Цели сессий хибера.
У автора темы - "сокетсервер". Принципиальной разницы с HTTP сервером для Hibernate - нет.
а откуда тогда такой сабж вырос? )))).
Я считаю - разница кардинальная. По крайней мере догадался по автору что он умолчал по ТЗ)).
Потом окажется что связь двухстронняя и юзверь всегда один и .....
Удачи.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Одна открытая сессия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]