Как использовать Hibernate Session в desktop приложении?

291
16 марта 2017, 20:36

До этого у меня был опыт работы с ORM (Hibernate и Doctrine) в веб-приложениях. Там все просто, в 99.9% случаев один запрос - одна сессия ORM. В рамках запроса у нас существует сессия, в конце запроса она закрывается с сохранением всех изменений.

В desktop-приложении так не получается. Тут нет таких явных отрезков действий как запросы. Инициация действий происходит: по команде пользователя, по расписанию, по внешним событиям системы и т.д. Приложение может не выключаться достаточно долго, засорять память мусором нельзя.

В итоге я использую такой подход, при котором держу открытой сессию только в рамках одного метода. Например, если в Action методе контроллера требуется поработать с Entity, я открываю сессию, делаю манипуляции с Entity и закрываю. Если еще раз требуется поработать с Entity, например в другом Action методе контроллера, я использую открепленное Entity в сочетании с merge, refresh, update. Привольно ли это? Или существует практика хранения какой-нибудь глобальной сессии, что позволяет облегчить себе жизнь? Или все зависит от случая и задач?

Вот итоговый вопрос: Существует ли какой-нибудь стандартный подход к использованию Hibernate сессии в desktop-приложении, аналогичный подходу в веб-приложенях (одна сессия на весь запрос)?

READ ALSO
Удаленный доступ Android - PC

Удаленный доступ Android - PC

Хочу написать приложение под Android для удаленного управления PC (Допустим включить плеер, переключить песню, сделать громче-тише и тд

284
Работа с VK API для сообществ, не имея сервера

Работа с VK API для сообществ, не имея сервера

Чтобы получать информацию об обновлениях в сообществе, нужно иметь сервер: Однако, у меня есть приложение, которое работает с LongPoll-сервером...

283
Исходный код в документации

Исходный код в документации

Можно ли в Javadoc указывать ссылку на исходный код классов и методов, чтобы не нужно было каждый раз искать по каталогам нужный файл? Если да, то как...

235
Spring mvc работа с изображениями

Spring mvc работа с изображениями

Здравствуйте, делаю небольшое веб-приложение на SpringНужна возможность хранить изображения отправленные из формы на сервер

474