Image

Imagesserg wrote in Imageru_java

Вопрос по hibernate

Задача
В приложении есть набор объектов, которые должны как-то жить сами по себе и чего-то делать. Ещё нужно уметь редактировать их настройки с веба.
Я её как решил - в некоей выделенной hibernate-сессии (SHS) при старте создаются эти объекты, инициализируются (не только из базы) и начинают работать. С веба в отдельных сессиях на каждый реквест идёт редактирование и в случае успешного редактирования, релоад из базы объекта в SHS, после чего он продолжает работу. Всё было бы нормально, но нужно теперь, чтобы объекты в SHS могли параллельно обрабатывать какие-то события с использованием нескольких коннектов к базе. Понимаю что это бред, в одной сессии не может быть несколько коннектов одновременно, но хочется для ускорения.
Есть вариант - отдельные сессии на каждый сред без SHS. Да, это самый распространённый паттерн. Не пойдёт, потому что объекты должны инициализироваться только один раз, а голыми, только что созданными из базы они мне не нужны. Есть другой вариант - отвязать все инициализированные объекты от SHS и привязывать их каждый раз к новой сессии - по-моему криво, говорить каждому evict и lock. Где я дурак?