Оказва се, че това изключение се дължи на грешка в Hibernate. Един от съотборниците ми намери свързан доклад за грешка, Повторното сглобяване на обект от клъстерен JBoss Cache може да се провали с „несъответствие на типа на аргумента“ , което се случва при използване на Hibernate и JBoss Cache.
Според доклада, настройка на свойството Hibernate hibernate.cache.use_structured_entries
до вярно избягва изключението. Според документацията на Hibernate това свойство "принуждава Hibernate да съхранява данни в кеша от второ ниво в по-удобен за хората формат". Очевидно записите в структурирания кеш също гарантират, че Hibernate правилно преобразува свойствата на обект в кеша от второ ниво към съответното свойство в обект.
Javalobby има интересна статия, която обяснява как Hibernate използва кеша от второ ниво.
Версиите на Hibernate след 3.3.2GA също показват ли това поведение?