Одной из моих проблем по этому поводу является то, что GORM (я бы сказал, Hibernate) использует шаблон open-session-in-view для каждого запроса, где рабочий сеанс Hibernate будет закрыт и очищен в конце.
Хранение объектов GORM в сеансе HTTP означает отсоединение объекта от предыдущего сеанса Hibernate и повторное присоединение его к вновь созданному сеансу. Это может вызвать конфликт между двумя версиями объекта.