Кажется, нет никакого способа безопасно объединить объекты между сеансами, по крайней мере, с оптимистической блокировкой.
Я иду по другому шаблону: каждый сеанс имеет свои собственные копии каждой сущности, и я refresh()
экземпляров в каждом сеансе по мере необходимости. Это добавило накладных расходов при использовании памяти и обращений к БД, но, похоже, работает.